목록Spring (3)
JUNGKIMHOON
기존 Spring을 활용한 MVC 프로젝트에서는 한 서버안에서 작업을 처리하면서 session으로 로그인을 유지시켜주면 만사가 편했다. Vue.js와 Spring boot 프로젝트를 진행하면서 로그인 처리에 JWT를 활용하는 방법을 많이 사용하는 것을 알 수 있었다. JWT Procedure 프론트 측에서 로그인을 시도하여 서버로 데이터 넘김 서버에서 데이터 검증 및 JWT 생성 JWT 프론트로 전달 서버에 데이터요청 (JWT헤더 + 요청값) JWT 유효성 검증 요청 데이터 전송 JWT Structure 헤더 : 토큰 타입, 해싱 알고리즘 페이로드 : 토큰에 담을 정보 (클레임) 시그니처 : 비밀키 해싱값 JWT 구현 POM.xml io.jsonwebtoken jjwt 0.9.1 javax.xml.bin..
CORS(Cross-Origin Resource Sharing) 교차 출처 리소스 공유 SOP(Same-origin policy의 반대 개념) 다른 출처의 자원을 공유할 수 있도록 설정하는 권한 체제 따라서 CORS를 설정해주지 않거나 제대로 설정하지 않은 경우, 원하는 대로 리소스를 공유하지 못한다. 백앤드와 프론트의 포트넘버가 다를 때 발생한다고 한다. 네이버 API, RIOT API 등 외부 API를 다룰 때 프런트에서 직접적으로 데이터를 요청할 때도 발생한다. (백엔드에서 요청받아 프런트로 넘겨줘야 한다.) Configuration 적용 @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) publi..
LEVEL 0 - http://server/getPosts - http://server/deletePosts - http://server/doThis LEVEL 1 적절한 uri를 사용 - http://server/accounts - http://server/accounts/10 BUT improper use of Http methods LEVEL 2 LEVEL1 + HTTP Methods LEVEL 3 Level2 + HATEOAS DATA + NEXT POSSIBLE ACTIONS * HTTP Methods GET POST PUT DELETE * 안전한 URI 설계 필요 * 복수형 URI 설계 - /users (/user X) - /users/1 (/user/1 X)