Conversation
WalkthroughThis update restructures the social login system by introducing a generic OIDC login handler framework, moving Apple and Kakao login logic into new provider-specific handler classes under a unified package. The previous concrete handler classes are removed. Supporting classes and interfaces are refactored or added for modularity. Minor formatting, indentation, and import adjustments are also applied throughout the codebase and related tests. Changes
Sequence Diagram(s)Social Login Flow with OIDCLoginHandlersequenceDiagram
participant Client
participant OIDCLoginHandler
participant ProviderLoginHandler (Apple/Kakao)
participant OAuthInfoRepository
participant SignupTokenRepository
participant JwtTokenFactory
participant TokenRefreshService
Client->>ProviderLoginHandler: validateAndLogin(params)
ProviderLoginHandler->>OIDCLoginHandler: validateAndLogin(params)
OIDCLoginHandler->>ProviderLoginHandler: extractProviderId(params)
ProviderLoginHandler-->>OIDCLoginHandler: providerId
OIDCLoginHandler->>OAuthInfoRepository: findByProviderId(providerId)
alt User exists
OIDCLoginHandler->>JwtTokenFactory: generateTokenPair(user)
OIDCLoginHandler->>TokenRefreshService: putRefreshToken(userId, refreshToken)
OIDCLoginHandler-->>Client: AuthResult (login success, tokens)
else User not found
OIDCLoginHandler->>ProviderLoginHandler: createProviderSpecificToken(tokenId, providerId, params)
ProviderLoginHandler-->>OIDCLoginHandler: SignupToken
OIDCLoginHandler->>SignupTokenRepository: save(SignupToken)
OIDCLoginHandler->>JwtTokenFactory: generateSignupTemporalToken(SignupToken)
OIDCLoginHandler-->>Client: AuthResult (signup needed, temporal token)
end
Poem
Tip ⚡️ Faster reviews with caching
Enjoy the performance boost—your workflow just got faster. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (27)
💤 Files with no reviewable changes (2)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
작업내역
소셜로그인 로직의 반복되는 부분을 템플릿 패턴으로 추상화했습니다.
RefreshToken 로직
Summary by CodeRabbit
New Features
Refactor
Bug Fixes
Style
Documentation