Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] 카카오 OAuth2 로그인 시 Userinfo를 OpenID 토큰을 통해 받도록 개선한다. #994

Closed
seokjin8678 opened this issue May 27, 2024 · 0 comments · Fixed by #995
Assignees
Labels
BE 백엔드에 관련된 작업 ⚙️ 리팩터링 리팩터링에 관련된 작업

Comments

@seokjin8678
Copy link
Collaborator

✨ 세부 내용

카카오 OAuth2 로그인 시 다음과 같은 절차를 따릅니다.

  1. 사용자가 요청한 Authorization CodeKakaoOAuth2AccessTokenClient를 통해 API 요청을 보내서 Access Token을 가져온다.
  2. Access TokenKakaoOAuth2UserInfoClient를 통해 API 요청을 보내서 UserInfo를 가져온다.
  3. UserInfo에 담긴 사용자 정보로 로그인/회원가입 처리를 한다.

위 절차는 정상적인 OAuth2 Authorization Code Grant 유형의 인증 방식이지만, 엑세스 토큰으로 사용자를 식별하기 위해(인증) API 요청을 추가로 날려야 한다는 단점이 있습니다.

하지만 1번 단계에서 엑세스 토큰 대신 ID Token을 가져오고, 2번 단계에서 OpenID Connect 구현체인 KakaoOpenIdClient를 통해 UserInfo를 가져오면 API 요청 한 번으로 인증/인가를 처리할 수 있습니다.

⏰ 예상 소요 시간

30분

@seokjin8678 seokjin8678 added BE 백엔드에 관련된 작업 ⚙️ 리팩터링 리팩터링에 관련된 작업 labels May 27, 2024
@seokjin8678 seokjin8678 self-assigned this May 27, 2024
seokjin8678 added a commit that referenced this issue May 30, 2024
…변경 (#994) (#995)

* refactor: KakaoOAuth2Client UserInfo 반환 KakaoOpenIdClient 사용하도록 변경

* refactor: OAuth2Client 인터페이스에서 code로 UserInfo 반환하도록 리팩터링 및 AccessToken 네이밍 OAuth2Token으로 변경
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 백엔드에 관련된 작업 ⚙️ 리팩터링 리팩터링에 관련된 작업
Projects
Status: Done
1 participant