Skip to content

[RELEASE] v2.1.8 로그인 통합 오류 해결#342

Merged
yongjun0511 merged 2 commits intomainfrom
develop
Feb 3, 2026
Merged

[RELEASE] v2.1.8 로그인 통합 오류 해결#342
yongjun0511 merged 2 commits intomainfrom
develop

Conversation

@yongjun0511
Copy link
Collaborator

No description provided.

@yongjun0511 yongjun0511 self-assigned this Feb 3, 2026
@yongjun0511 yongjun0511 merged commit 2eacfad into main Feb 3, 2026
@gemini-code-assist
Copy link

Summary of Changes

Hello @yongjun0511, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 로그인 통합 과정에서 발생할 수 있는 오류를 해결하기 위해 OAuth 서비스의 토큰 생성 로직을 개선합니다. 기존에는 로그인 요청에서 받은 provider 정보를 직접 사용하여 JWT 토큰을 생성했지만, 이제는 인증된 사용자 객체에 저장된 실제 provider 및 providerId를 활용하도록 변경되었습니다. 이로써 시스템은 사용자의 등록된 인증 제공자 정보를 일관되게 사용하여 잠재적인 인증 문제를 방지하고 로그인 프로세스의 견고함을 높입니다.

Highlights

  • 로그인 토큰 생성 로직 개선: 카카오 및 애플 로그인 시 JWT 토큰을 생성하는 generateOauthJwtTokens 메서드에서, 요청 객체의 provider 정보 대신 사용자(user) 객체에 저장된 실제 provider 및 providerId를 사용하도록 수정되었습니다.
  • 일관된 사용자 정보 활용: 기존에는 하드코딩된 provider 값(예: KAKAO, APPLE)과 요청 객체의 providerId를 사용했으나, 이제는 user.getProvider()user.getProviderId()를 사용하여 사용자 계정에 연결된 정확한 정보를 기반으로 토큰을 생성합니다.
  • 로그인 통합 오류 해결: 이 변경사항은 로그인 통합 과정에서 발생할 수 있는 오류를 해결하여, 사용자 인증의 정확성과 안정성을 향상시킵니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/main/java/ssu/eatssu/domain/auth/service/OAuthService.java
    • kakaoLogin 메서드에서 generateOauthJwtTokens 호출 시 KAKAO 대신 user.getProvider()request.providerId() 대신 user.getProviderId()를 사용하도록 수정되었습니다.
    • kakaoLoginV2 메서드에서 generateOauthJwtTokens 호출 시 KAKAO 대신 user.getProvider()request.providerId() 대신 user.getProviderId()를 사용하도록 수정되었습니다.
    • appleLogin 메서드에서 generateOauthJwtTokens 호출 시 APPLE 대신 user.getProvider()oAuthInfo.providerId() 대신 user.getProviderId()를 사용하도록 수정되었습니다.
    • appleLoginV2 메서드에서 generateOauthJwtTokens 호출 시 APPLE 대신 user.getProvider()oAuthInfo.providerId() 대신 user.getProviderId()를 사용하도록 수정되었습니다.
Activity
  • 현재까지 이 PR에 대한 사람의 활동(댓글, 리뷰 등)은 없습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


로그인 오류, 사용자 정보로 해결, 토큰이 빛나.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

안녕하세요. 로그인 통합 오류를 해결하기 위한 변경 사항을 리뷰했습니다. 다른 소셜 로그인으로 가입한 동일 이메일 사용자가 로그인할 수 없었던 문제를, DB에서 조회한 실제 사용자 정보를 사용하도록 수정하여 올바르게 해결하셨습니다. 모든 로그인 메소드에 일관되게 수정이 적용된 점도 좋습니다. 코드의 유지보수성을 더욱 향상시키기 위해, 중복되는 파라미터 전달을 줄이는 리팩토링 제안을 각 변경 지점에 댓글로 남겼습니다. 전체적으로 훌륭한 수정이며, 제안드린 내용은 다음 리팩토링 시에 고려해보시면 좋겠습니다. 수고하셨습니다.

.orElseGet(() -> userService.join(request.email(), KAKAO, request.providerId())));

return generateOauthJwtTokens(user.getEmail(), KAKAO, request.providerId());
return generateOauthJwtTokens(user.getEmail(), user.getProvider(), user.getProviderId());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

이 메서드 호출은 올바르게 수정되었습니다. 향후 유지보수성을 높이기 위해, generateOauthJwtTokens 메서드가 User 객체를 직접 파라미터로 받도록 리팩토링하는 것을 고려해볼 수 있습니다. 예를 들어, generateOauthJwtTokens(user)와 같이 호출하면 여러 파라미터를 개별적으로 전달할 필요가 없어 코드가 더 간결해지고 명확해집니다. 이 변경은 이번 PR의 범위를 벗어날 수 있으므로 다음 기회에 적용해보시는 것을 추천합니다.



return generateOauthJwtTokens(user.getEmail(), KAKAO, request.providerId());
return generateOauthJwtTokens(user.getEmail(), user.getProvider(), user.getProviderId());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

이 메서드 호출은 올바르게 수정되었습니다. 향후 유지보수성을 높이기 위해, generateOauthJwtTokens 메서드가 User 객체를 직접 파라미터로 받도록 리팩토링하는 것을 고려해볼 수 있습니다. 예를 들어, generateOauthJwtTokens(user)와 같이 호출하면 여러 파라미터를 개별적으로 전달할 필요가 없어 코드가 더 간결해지고 명확해집니다. 이 변경은 이번 PR의 범위를 벗어날 수 있으므로 다음 기회에 적용해보시는 것을 추천합니다.

updateAppleUserEmail(user, oAuthInfo.email());

return generateOauthJwtTokens(user.getEmail(), APPLE, oAuthInfo.providerId());
return generateOauthJwtTokens(user.getEmail(), user.getProvider(), user.getProviderId());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

이 메서드 호출은 올바르게 수정되었습니다. 향후 유지보수성을 높이기 위해, generateOauthJwtTokens 메서드가 User 객체를 직접 파라미터로 받도록 리팩토링하는 것을 고려해볼 수 있습니다. 예를 들어, generateOauthJwtTokens(user)와 같이 호출하면 여러 파라미터를 개별적으로 전달할 필요가 없어 코드가 더 간결해지고 명확해집니다. 이 변경은 이번 PR의 범위를 벗어날 수 있으므로 다음 기회에 적용해보시는 것을 추천합니다.

user.updateDeviceType(request.deviceType());

return generateOauthJwtTokens(user.getEmail(), APPLE, oAuthInfo.providerId());
return generateOauthJwtTokens(user.getEmail(), user.getProvider(), user.getProviderId());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

이 메서드 호출은 올바르게 수정되었습니다. 향후 유지보수성을 높이기 위해, generateOauthJwtTokens 메서드가 User 객체를 직접 파라미터로 받도록 리팩토링하는 것을 고려해볼 수 있습니다. 예를 들어, generateOauthJwtTokens(user)와 같이 호출하면 여러 파라미터를 개별적으로 전달할 필요가 없어 코드가 더 간결해지고 명확해집니다. 이 변경은 이번 PR의 범위를 벗어날 수 있으므로 다음 기회에 적용해보시는 것을 추천합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant