-
[Spring] Spring Security JWT 구현 (2)Code 2024. 12. 12. 00:39
↓ 이 글에서 이어집니다. [Spring] Spring Security JWT 구현 (1)프로젝트 진행 중 필요했던 로그인 기능 구현을 위해 학습한 내용, 구현한 내용을 정리한 글입니다. 🥹 프로젝트 진행에 필요한 정도만 구현하였기 때문에 OAuth 소셜 로그인이나 요런 녀석들은henhen.tistory.com 이전 글에서 구현 방식 개요와 토큰 저장소 관련 세팅, 토큰 관련 서비스를 생성했다. 이어서 회원 서비스에서 편리하게 사용하기 위하여 UserDetails, UserDetailsService를 구현하고, 세팅한 토큰과 서비스에 대해 커스텀 필터를 구현해 준 다음 SecurityConfig를 구성해보려고 한다. 분량이 된다면 회원 기능에서 인증과 연관이 있을 로직 처리까지 작성해 보겠습니다...
-
[Spring] Spring Security JWT 구현 (1)Code 2024. 12. 7. 23:46
프로젝트 진행 중 필요했던 로그인 기능 구현을 위해 학습한 내용, 구현한 내용을 정리한 글입니다. 🥹 프로젝트 진행에 필요한 정도만 구현하였기 때문에 OAuth 소셜 로그인이나 요런 녀석들은 생략했습니다. JWT(JSON Web Token)Header, Payload, Signature로 구성정보를 Base64 URL-safe Encode을 통해 인코딩해 직렬화API 요청 시 JWT를 전달하여 인증, 인가를 진행하는 토큰 인증 방식의 한 종류구현 방식1. 고려 사항모바일로 접속하는 유저풀이 없으며, 비브라우저 환경을 고려하지 않음모든 회원은 관리자 레벨임Access Token, Refresh Token값이 존재하지 않는 경우유효하지 않은 경우(사용자가 일치하지 않는 경우 등)유효시간이 만료된 경우Acc..
-
[Udemy] Spring Security 사용자 정의, JWT수업 내용 정리 2024. 11. 23. 17:50
* 해당 강의에 대한 정리 글입니다.https://www.udemy.com/course/spring-security-6-jwt-oauth2-korean/?couponCode=CPSALEBRAND241. Authorization 구현권한 기반 인가GrantedAuthority 구현 -> SimpleGrantedAuthority.java: role 필드 보유(String)getAuthority(): 로그인한 사용자에게 할당된 역할, 권한 get로그인한 사용자의 UserDetails를 Authentication 구현 클래스 객체 형태로 저장: UserDetailsService에서 loadUesrByUsername 시 authorities에 유저의 권한 정보(getRole())를 List로 전달(한 유저가 여러..
-
[Udemy] Spring Security 예외 처리, CORs, CSRF수업 내용 정리 2024. 11. 22. 13:17
* 해당 강의에 대한 정리 글입니다.https://www.udemy.com/course/spring-security-6-jwt-oauth2-korean/?couponCode=CPSALEBRAND241. SecurityConfig - HTTPS 프로토콜 허용@BeanSecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception { http.requiresChannel(rcc -> rcc.anyRequest().requiresSecure()) // HTTPS 트래픽만 허용 // ... 이후 로직 return http.build();}http.requiresChannel(rcc -> rcc.anyReq..
-
[Udemy] Spring Security Basic수업 내용 정리 2024. 11. 21. 15:08
* 해당 강의에 대한 정리 글입니다.https://www.udemy.com/course/spring-security-6-jwt-oauth2-korean/?couponCode=CPSALEBRAND24 0. 기본 설정spring security dependency 추가application.properties 설정초기 id, pw 변경spring.security.user.name=${SECURITY_USERNAME:(id)}spring.security.user.password=${SECURITY_PASSWORD:(password)}-> SecurityProperties.java 내부에 정의된 로직에 따라 properties에서 자체 비밀번호를 정의할 경우, 프레임워크에서 검증 후 비밀번호를 자동으로 생성하지 ..