Authorization Code 궁금증이 있습니다.
안녕하세요 선생님 강의 잘 듣고 있습니다 Authorization Code 요청하기
강의를 듣고 궁금한점이 생겨서 질문 올립니다
이번 강의의 핵심은 임시코드 발급하기 였습니다
클라이언트가 keyCloak 와 연동해서 어떻게 redirect uri 를 만들고 어떻게 요청을 하고
인증이 완료 되는것도 같이 해보았습니다
다만 저는 좀 궁금한게
선생님이 총 2개의 로그인 방식을 보여주셨다고 생각합니다
이 링크를 클릭했을때의 방식
다른 방식은 세션을 완전히 제거한 이 화면에서 로그인 하는 방식을 보여주셨습니다
여기선 궁금한건 이번강의 주제는 임시코드를 발급받는 Filter 에 대해서 공부중인데
첫번째 스크린샷에서는 선생님이 말씀하신 대로
OAuth2AuthorizationRequestRedirectFilter 에서 잘 요청이 들어옵니다
requset 가 "/oauth2/authorization"; 들어오기 떄문인데
두번쨰 스크린샷에서는 전혀 이 필터를 태우지 않습니다 저는 임시코드 발급이라고 하길래
지금 할려는 스크린샷 1 , 2 두 행동 모두가 임시코드를 발급받기 위한 행동으로 알고 있습니다
그런데 첫번째 스크린샷은 OAuth2AuthorizationRequestRedirectFilter 필터를 태우고
두번째 스크린샷은 OAuth2LoginAuthenticationFilter 이 필터를 태우고 있습니다
이 앞의 configure 강의에서도
요청 순서 말씀하시면서
OAuth2AuthorizationRequestRedirectFilter 가 먼저 요청을 받아서 임시코드를 받아오고 그 다음 OAuth2LoginAuthenticationFilter 가 진행된다 라고 하셔서 제가 지금 혼동이 오는거 같습니다.
앞의 부분에서 제가 놓친 부분이 있을까요 선생님?
답변 1
0
네
임시코드를 받아오기 위한 처리를 하는 필터는 OAuth2AuthorizationRequestRedirectFilter 가 맞습니다.
위 화면의 첫번째 스크린샷에서 클릭하게 되면 OAuth2AuthorizationRequestRedirectFilter 가 임시코드를 요청하는 역할을 하게 됩니다.
그리고 요청을 처리하는 과정에서 두번째 스크린샷이 나오게 되는데 이 화면은 인가서버에서 사용자로 하여금 인증을 하도록 제공하는 페이지입니다. 즉 스프링 시큐리티에서 제공하는 화면이 아닙니다.
그렇기 때문에 OAuth2AuthorizationRequestRedirectFilter 에서 아무런 반응이 없는 것입니다.
그리고 사용자의 인증이 완료가 되면 인가서버가 임시코드를 발급해서 다시 클라이언트 즉 스프링 시큐리티 클라이언트 쪽으로 리다이렉트하게 되는데 이 때는 OAuth2AuthorizationRequestRedirectFilter 가 요청을 처리하지 않고 OAuth2LoginAuthenticationFilter 가 리다이렉트 요청을 처리하게 됩니다.
그리고 임시코드를 가지고 토큰을 교환하도록 처리가 이루어집니다.
요약하면 두번째 스크린샷은 시큐리티 쪽에서 이루어지는 것이 아닌 인가서버, 여기에서는 키클록 인가서버에서 제공하는 인증페이지임을 기억하시기 바랍니다.
authorization-server 라이브러리 질문이 있습니다.
0
78
1
loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생
0
79
2
JWT 조회 에 대한 질문
0
75
1
password grant 방식 에러 응답
0
91
3
FormLoginConfigure에서 생성하는 필터
0
79
2
현업에서 springboot를 3.5.5 를 사용해서 공부중인데...
0
287
2
Jdbc 관련 강의 및 깃헙 문의
0
78
1
OAuth2AuthorizedClient 이해 및 활용 강의 내용 질문
0
209
1
UserInfo 엔드포인트 요청 실습
0
75
1
RFC 문서에서의 AccessToken 발급 방식 궁금한점
0
151
1
강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁드려요
0
140
2
OIDC SSO 관련 질문 입니다.
0
131
1
AuthenticationEntryPoint 강의 누락 문의
0
123
1
cors설정방법
0
116
1
jwt decoder 토큰 검증 시 질문
0
222
1
클라이언트에서 userinfo 엔드포인트 호출 시 질문
0
187
2
JOSE 구성요소의 api에 관한 질문
0
141
2
스프링 부트 3버전으로 따라가시는 분들 참고하세요
1
532
1
CustomOAuth2AuthenticationFilter 구현 중 질문
0
146
2
AuthenticationManager 생성시점
0
118
1
FormLogin과 Oauth2Client 둘 중 사용하는 시점
0
128
1
postman userinfo 엔드포인트 질문
0
136
2
강의 수강신청하고 듣기 전입니다 질문있습니다.
0
115
1
인증 코드를 통해 발급 받은 토큰의 관리
0
200
1





