독학 146

springboot vue 소켓통신하기 1(연결)

배달이 시작되면 배달원의 위치를 실시간으로 표시해주려고 한다 그래서 채팅 웹/앱처럼 소켓통신을 하려고 구현했다 implementation group: 'org.springframework.boot', name: 'spring-boot-starter-websocket', version: '2.6.2' 추가해준다 configuration해준다 연결 주소 "/auth/ws/chat" cors정책 설정 setAllowedOrigins("*") 메시지를 받아서 처리해주는 클래스이다 private textHandler chatHandler; textHandler 주석을 보면 알 수 있다 vue 테스트 연결되니 afterConnectionEstablished의 로거가 나온다 전송하니 handleTextMessage의..

springboot security 권한에 따른 url접근

상점 등록 페이지를 만들고 있었다 상점 등록은 회사/어드민만 권한을 가지고 있어야 한다 따라서 시큐리티에 설정을 추가해주었다 .authorizeRequests().antMatchers("/auth/store/**").access("hasRole('ROLE_COMPANY') or hasRole('ROLE_ADMIN')") 편리하게 권한을 체크해준다 테스트 ROLE_USER일 때 ROLE_COMPANY일 때 로직을 잘 타다가 조건대로 에러를 잘 발생해준다! 주의할 점 권한은 대문자로 해야 한다

Jang_bo_go 2022.01.01

springboot security jwt 검증필터 만들기(BasicAuthenticationFilter)

https://cordingmonster.tistory.com/193?category=1035575 springboot jwt token 발급하기 2 https://cordingmonster.tistory.com/category/Jwt/Jwt%20%ED%86%A0%ED%81%B0%EB%A7%8C%EB%93%A4%EA%B8%B0 'Jwt/Jwt 토큰만들기' 카테고리의 글 목록 cordingmonster.tistory.com 이전 글들이 조금 두서없는 거 같.. cordingmonster.tistory.com 토큰이 잘 발급되었다면 검증필터를 만들어주자 모든요청이 발생하면 BasicAuthenticationFilter 이 시큐리티 필터를 타게된다 (시큐리티를 적용중이라는 가정하에) 인증검증방식 1.로그인 사..

springboot jwt token 발급하기 2

https://cordingmonster.tistory.com/category/Jwt/Jwt%20%ED%86%A0%ED%81%B0%EB%A7%8C%EB%93%A4%EA%B8%B0 'Jwt/Jwt 토큰만들기' 카테고리의 글 목록 cordingmonster.tistory.com 이전 글들이 조금 두서없는 거 같아서 심플하게 다시 써보려고 한다 1. 디펜던시 넣기 implementation group: 'com.auth0', name: 'java-jwt', version: '3.18.2' 넣어준다 1. 토큰 만들기 1.엑세스토큰은 이메일이든 뭐든 키/밸류형식으로 넣어준다 유효기간을 타이트하게해준다 (20분정도) 2.리프레시는 아무것도 정보를넣어주지 않는다 유효기간을 길게해준다(일주일~두달정도) 변수 네이밍이 ..

springboot jwt 발급하기 1 (corsFilter)

https://cordingmonster.tistory.com/category/Jwt/Jwt%20%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C%2B%EB%B0%B1%EC%97%94%EB%93%9C%20%ED%86%B5%EC%8B%A0 'Jwt/Jwt 프론트엔드+백엔드 통신' 카테고리의 글 목록 cordingmonster.tistory.com 이전에 한번 썼던 글이지만 다시 한번 정리해 놓으려고 한다 발급 전 jwt를 사용할 때는 높은 확률로 프런트/백엔드 도메인이 분리되어있을 것이다 ex) localhost:3030, (프) localhost:8080(백) axios/ajax 등 도메인이 서로 다를 때 cors정책이 우리를 가로막게 된다 localhost/:1 Acce..

vue.js 카카오지도 원그리기

기업회원가입 후 매장 등록을 할 때 1. 주소를 선택하면 매장 위치를 표시해주고 2. 배달 반경을 입력하면 매장 중심에서 n키로만큼 원을 그려주기였다 문서 https://apis.map.kakao.com/web/sample/drawShape/ 이렇게 마커가 뜨고 이동한다 이제 반경 숫자를 입력하면 이렇게 원이 나온다 여기서 다시 주소를 검색하거나 숫자를 바꿔도 자연스럽게 움직인다 소스를 봐 보자 1. 주소 마커 표시하기 1. 주소 선택이 완료되면 결과를 result로 들고 온다 2. 결과값이 ok라면 마커 표시 3. 반경까지 정했다면 재탐색 좌표를 중심으로 원 그려주기를 해준다 2-1. 원 그려주기 1. 반경 입력값이 숫자인지 검사한다 2. 원을 그리는 함수 호출한다 2-2. 원 그려주기 1. 이전에 그..

Jang_bo_go 2021.12.30

Springboot 사업자등록조회 api호출하기

기업회원을 받을 때 정상적인 사업자인지 검사를 해야 했다 다행히 나라에서 제공해주는 api가 있었고 사용하기만 하면 됐다 근데 왠..? postman에서 잘만됐는데 서버에서 하니까 안되는 것이었다 그래서 방법을 찾아봤다 내가 고통받은 에러는 "등록되지 않는 키였다" 문제는 restTemplate였고 api호출을 okhttp3을 주입하고 다시 시도하고 성공했다! api https://www.data.go.kr/data/15081808/openapi.do 국세청_사업자등록정보 진위확인 및 상태조회 서비스 국세청에서 제공하는 사업자등록정보 진위확인 및 사업자등록 상태조회 API 서비스입니다. www.data.go.kr 내가 찾은 글 https://imspear.tistory.com/m/130 OpenAPI 데..

Springboot/Api 2021.12.21

springboot sqs 문자/이메일전송

사실 이번 jangbogo프로젝트는 모놀리식 아키텍처가 아닌 마이크로아키텍처로 하려고 했으나! 그러면 진짜 프로젝트 완성 못할 거 같아서...ㅋㅋㅋ 다른 서버라고 치고 구현해보자! (나중에 배치만 따로만들자) 일단 springboot + sqs를 하는 방법은 https://www.youtube.com/watch?v=q3zo3YREfJI 이 분거 보는 게 최고다 s3/sns도 이분 꺼 보고 붙였다 이분 장점이 다른 코드에 추가가 아니라 그냥 어떻게 기본적으로 연결하는지 보여준다 디펜던시별로 차이가 약간있는데 영상으로는 // https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-aws-messaging implementation ..

aws/SQS 2021.12.16

vue.js eventbus 컴포넌트간 주고받기!

카카오 지도를 호출하였다 검색만 해주면 된다 문제는 컴포넌트 간에 어떻게 주고받아야 할지 몰랐다 쉽게 말해서 지도/내비 바/풋터는 한화면에 각기 다른 컴포넌트이다 즉 검색창에 타이핑 후 search버튼을 눌렀을 때 지도 컴포넌트에게 검색 값을 줘 야한다 구글링 결과 eventbus를 활용하기로 결정하였다! 1.eventbus 만들기 Vue.prototype.$EventBus = new Vue(); main.js에 이렇게만 해주면된다 2. 메서드 지정하기 네비 바로 가자 this.$EventBus.$emit('searchStore',storeKeyword); 뭔뜻이나면 searchStore로 storeKeyword를 전송한다는것이다 emit은 지정할때 on은 받을때 쓴다 받는곳으로 가보자! this.$Ev..

Jang_bo_go 2021.12.16

Springboot+vue.js 구매시스템만들기!(1) 카드결제요청 with 세틀뱅크

쿠폰/할인 코드/포인트 적용하는데 처음 적용해서 그런가 아 진짜 힘들었다.. 규칙 1. 한 상품의 최대 할인율이 정해져 있다 2. 쿠폰+할인 코드=총 할인금액이 최대 할인율을 넘어서면 안 된다 3. 포인트는 총금액에서 마이너스한다 4. 쿠폰/할인코드드중 퍼센트인 게 먼저 적용되고 그다음 마이너스가 적용된다 ex) 쿠폰=퍼센트/할인=금액 마이너스인 경우 쿠폰 적용 후 할인 적용 반대라면 반대로 적용 둘 다일 경우 마이너스 든 퍼센트 든 합해서 계산하면 된다 5. 쿠폰/할인 코드는 개별 적용/포인트는 총금액에서 마이너스 구현중 어려웠던 건.. 예를 들어 3잔의 커피를 주문하고 3장의 쿠폰/혹은 할인 코드가 적용된다면 총금액에 적용되는 게 아니라 개별 상품에 적용되게 하는 것이 힘들었다.. 일단 구현은 했다 ..