작성
·
96
0
Oauth를 활용해 자체 sso 서버를 구축하려고 하는데 궁금한 게 있어 문의 드립니다.
먼저 구축할 예정인 환경은 아래와 같습니다.
로그인 프론트
Authorization과 로그인을 함께 처리할 백엔드
authorization code 요청 시 로그인 여부를 확인해야 하는데 로그인 정보가 jwt 토큰으로 cookie에 담겨있다면, OAuth2AuthorizationEndpointFilter에서 확인을 해야하는지 OAuth2AuthorizationCodeRequestAuthenticationConverter에서 확인을 해야하는지 궁금합니다.
답변 1
0
OAuth2 인증 흐름에서 로그인 여부를 확인하는 단계는 OAuth2AuthorizationEndpointFilter
에서 처리하는 것이 적절한 것 같습니다.
왜냐하면 이 필터가 클라이언트의 Authorization Code 요청을 처음으로 처리하고, 로그인 상태를 확인하는 역할을 포함하기 때문입니다.
만약 사용자가 로그인되지 않은 상태라면, 이 필터는 로그인을 요구하도록 리다이렉션합니다
그리고 OAuth2AuthorizationCodeRequestAuthenticationConverter 는 code 를 Authentication 객체로 변환하는 역할을 합니다. 그말은 로그인 인증 이후의 과정입니다. 즉 인증을 받지 못하면 처리되지 못합니다.
그렇다면 로그인 확인 처리를 하고 싶으면
OAuth2AuthorizationEndpointFilter
앞에 제가 만들어준 커스텀 필터를 추가해서 확인하면 되는 걸까요??그런데 해당 필터 뒤나 앞으로 커스텀 필터를 추가를 하려고 하면
OAuth2AuthorizationEndpointFilter
에 순서 지정이 필요하다며 추가가 제대로 되지 않습니다...코드를 짜면서 의문이 계속 생기는데 실제 실무에서 로그인 페이지가 서버에서 제공하는 것이 아니라 저처럼 프론트로 구축되어 있다면 로그인 정보를 어디에 저장해서 가져오나요.. ?