Notice
Recent Posts
Recent Comments
Link
«   2026/09   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

helloworld

Spring Security OAuth.. 본문

toyproject

Spring Security OAuth..

hellojava 2023. 9. 13. 15:21

프로젝트도 진행해야하는데 로그인에 시간이 엄청 간당.. 짰던 계획은 아마 물거품이 되려나..

 

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