You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
문제 원인
요구사항
위와 같이 쿼리 파라미터 로 전달한 정보를 로그인 성공 후 리다이렉트시, 다시 전송을 원하는 상황이었습니다.
당시 상황
OAuth2 로그인 구현 방법
/api/v1/auth/oauth2/kakao
)를 설정즉, baseUri 로 요청시 카카오 로그인 페이지로 리다이렉트 시키는 방식으로 작동
문제 접근
해당 요구사항에 따라 baseUri에 요청할 때 쿼리 파라미터로 넘어온 값에 대한 처리가 필요하다고 판단하였습니다.
oauth2Login에서
authorizationEndpoint
를 커스터마이징하는 방법은 없나? 라는 생각으로 설정할 수 있는 클래스를 검색위 3가지는 OAuth2 인증 과정의 주요 컴포넌트로서 필요에 따라 커스터마이징이 가능합니다.
이 중, authorizationRequestResolver 를 통해 로그인 요청 엔드포인트에 클라이언트가 요청을 보낼 때 쿼리 파라미터를 파싱하고 세션에 저장하는 방식으로 접근하면 좋을 것 같아 ChatGPT 를 활용해 보았습니다.
문제 해결
DefaultRequestResolver
의 방식대로 구현을 하되, 요청에서redirect
쿼리 파라미터에 대한 정보만 세션에 저장OAuth2SuccessHandler
에서 세션에서redirect
정보를 가져온 후 클라이언트에게 전달위의 두 방식을 통해 변경된 요구사항에 맞게 커스터마이징을 진행
CustomAuthorizationRequestResolver.java
OAuth2SuccessHandler.java
생각해볼 내용
Beta Was this translation helpful? Give feedback.
All reactions