1111
1212namespace ProjectVG . Application . Services . Auth
1313{
14- public class AuthService : IUserAuthService
14+ public class AuthService : IAuthService
1515 {
1616 private readonly IUserService _userService ;
1717 private readonly ITokenService _tokenService ;
@@ -30,16 +30,7 @@ public AuthService(
3030 _logger = logger ;
3131 }
3232
33- public async Task < AuthResult > SignInWithOAuthAsync ( string provider , string providerUserId )
34- {
35- return provider switch {
36- "guest" => await GuestLoginAsync ( providerUserId ) ,
37- "google" or "apple" => await OAuth2LoginAsync ( provider , providerUserId ) ,
38- _ => throw new ValidationException ( ErrorCode . OAUTH2_PROVIDER_NOT_SUPPORTED )
39- } ;
40- }
41-
42- private async Task < AuthResult > GuestLoginAsync ( string guestId )
33+ public async Task < AuthResult > GuestLoginAsync ( string guestId )
4334 {
4435 if ( string . IsNullOrEmpty ( guestId ) ) {
4536 throw new ValidationException ( ErrorCode . GUEST_ID_INVALID ) ;
@@ -66,42 +57,6 @@ private async Task<AuthResult> GuestLoginAsync(string guestId)
6657 return await FinalizeLoginAsync ( user , "guest" ) ;
6758 }
6859
69- private async Task < AuthResult > OAuth2LoginAsync ( string provider , string providerUserId )
70- {
71- if ( string . IsNullOrEmpty ( providerUserId ) ) {
72- throw new ValidationException ( ErrorCode . PROVIDER_USER_ID_INVALID ) ;
73- }
74-
75- var user = await _userService . TryGetByProviderAsync ( provider , providerUserId ) ;
76-
77- if ( user == null ) {
78- string uuid = GenerateGuestUuid ( providerUserId ) ;
79- var createCommand = new UserCreateCommand (
80- Username : $ "임시 유저 이름",
81- Email : $ "guest@guest{ uuid } .local",
82- ProviderId : providerUserId ,
83- Provider : provider
84- ) ;
85-
86-
87- user = new UserDto {
88-
89-
90- Id = Guid . NewGuid ( ) ,
91- Username = $ "{ provider } _user_{ providerUserId } ",
92- Email = $ "{ providerUserId } @{ provider } .oauth",
93- Status = AccountStatus . Active ,
94- Provider = provider ,
95- ProviderId = providerUserId
96- } ;
97- }
98-
99- _logger . LogInformation ( "새 OAuth 사용자 생성됨: UserId={UserId}, Provider={Provider}, ProviderId={ProviderId}" ,
100- user . Id , provider , providerUserId ) ;
101-
102- return await FinalizeLoginAsync ( user , provider ) ;
103- }
104-
10560 private async Task < AuthResult > FinalizeLoginAsync ( UserDto user , string provider )
10661 {
10762 // 초기 크레딧 지급
@@ -144,7 +99,7 @@ public async Task<AuthResult> RefreshAccessTokenAsync(string? refreshToken)
14499 } ;
145100 }
146101
147- public async Task < bool > LogoutAsync ( string refreshToken )
102+ public async Task < bool > LogoutAsync ( string ? refreshToken )
148103 {
149104 if ( string . IsNullOrEmpty ( refreshToken ) ) {
150105 throw new ValidationException ( ErrorCode . TOKEN_MISSING , "리프레시 토큰이 필요합니다" ) ;
0 commit comments