helloworld
Spring Security OAuth.. 본문
프로젝트도 진행해야하는데 로그인에 시간이 엄청 간당.. 짰던 계획은 아마 물거품이 되려나..
JWT를 듣기 전에 웬만한 구조는 알고 있어야 할 거 같아서 스프링시큐리티부터 강의를 듣고 있는 중인데, Oauth 관련하여 굉장히 중요한 것 같은 내용이 나와서 정리하려 한다.
우선 스프링 시큐리티는 자기만의 시큐리티 세션을 가지고 있다고 한다.
(원래의 세션 영역 안에 시큐리티가 관리하는 세션 영역)

이런식으로.. 참고로 S는 세션이고 S-S는 스프링 시큐리티다
그 안에 들어 갈 수 있는 타입은 Authentication 객체 뿐이고 DI를 통해 접근이 가능하다.
Authentication 안에 들어 갈 수 있는 2개의 타입이 있는데
UserDetails/ OAuth2User 타입이다..
UserDetails 타입은 일반적인 로그인을 할때 사용하는 타입이고
OAuth2User는 구글이나 페이스북 등 소셜로그인을 사용할때 사용되는 타입이다.
이렇게 생각하면 굉장히 골치아픈일이 생기지 아니할 수 없다..
원래라면 똑같은 기능을 2개의 객체기 때문에 2개로 나누는 등, 암튼 개발이 엄청 복잡해지고 어려워 질 것이다..
하지만 개발선배님들은 그리 멍청하지 않았다..
X라는 클래스에 UserDetails와 OAuth2User를 상속받는다.
그러면 X클래스를 사용하면 Authentication도 접근할 수 있고, UserDetails와 OAuth2User의 타입을 둘 다 사용 할 수 있을 것이다..
참 선배님들 선생님들은 현명하시다..
내가 이해한 것이 잘 못됐다면 댓글달아주세요 ㅎㅎ..
열심히 공부하겠습니다,,!
'toyproject' 카테고리의 다른 글
| 에러 해결하기 .. (0) | 2023.11.02 |
|---|---|
| 로그인 기능 (0) | 2023.09.11 |
| 설계한 DB를 바탕으로 도메인클래스만들기 (0) | 2023.09.02 |
| 프로젝트 DB 설계 (0) | 2023.08.31 |
| 프로젝트 시~작 (2) | 2023.08.31 |