인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

yjlee341님의 프로필 이미지
yjlee341

작성한 질문수

스프링 시큐리티 OAuth2

Spring Authorization Server 활용 sso 구축

작성

·

134

0

Oauth를 활용해 자체 sso 서버를 구축하려고 하는데 궁금한 게 있어 문의 드립니다.

먼저 구축할 예정인 환경은 아래와 같습니다.

  • 로그인 프론트

  • Authorization과 로그인을 함께 처리할 백엔드

     

authorization code 요청 시 로그인 여부를 확인해야 하는데 로그인 정보가 jwt 토큰으로 cookie에 담겨있다면, OAuth2AuthorizationEndpointFilter에서 확인을 해야하는지 OAuth2AuthorizationCodeRequestAuthenticationConverter에서 확인을 해야하는지 궁금합니다.

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

OAuth2 인증 흐름에서 로그인 여부를 확인하는 단계는 OAuth2AuthorizationEndpointFilter 에서 처리하는 것이 적절한 것 같습니다.

왜냐하면 이 필터가 클라이언트의 Authorization Code 요청을 처음으로 처리하고, 로그인 상태를 확인하는 역할을 포함하기 때문입니다.

만약 사용자가 로그인되지 않은 상태라면, 이 필터는 로그인을 요구하도록 리다이렉션합니다

그리고 OAuth2AuthorizationCodeRequestAuthenticationConverter 는 code 를 Authentication 객체로 변환하는 역할을 합니다. 그말은 로그인 인증 이후의 과정입니다. 즉 인증을 받지 못하면 처리되지 못합니다.

yjlee341님의 프로필 이미지
yjlee341
질문자

그렇다면 로그인 확인 처리를 하고 싶으면OAuth2AuthorizationEndpointFilter 앞에 제가 만들어준 커스텀 필터를 추가해서 확인하면 되는 걸까요??
그런데 해당 필터 뒤나 앞으로 커스텀 필터를 추가를 하려고 하면 OAuth2AuthorizationEndpointFilter에 순서 지정이 필요하다며 추가가 제대로 되지 않습니다...
코드를 짜면서 의문이 계속 생기는데 실제 실무에서 로그인 페이지가 서버에서 제공하는 것이 아니라 저처럼 프론트로 구축되어 있다면 로그인 정보를 어디에 저장해서 가져오나요.. ?

yjlee341님의 프로필 이미지
yjlee341

작성한 질문수

질문하기