1
1
using Entites . Code ;
2
- using Entites . Models ;
3
- using Microsoft . AspNetCore . Http ;
4
2
using Microsoft . AspNetCore . Identity ;
5
3
using Microsoft . AspNetCore . Mvc ;
6
4
using Microsoft . Extensions . Logging ;
7
5
using Service . Contracts ;
8
6
using Shared . DataTransferObject ;
9
7
using Shared . DataTransferObject . Auth ;
10
- using System ;
11
- using System . Collections . Generic ;
12
- using System . Diagnostics . Metrics ;
13
- using System . Linq ;
14
- using System . Runtime . InteropServices ;
15
- using System . Text ;
16
- using System . Threading . Tasks ;
8
+ using Shared . DataTransferObject . InputDto . Auth ;
17
9
18
10
namespace EveryPinApi . Presentation . Controllers ;
19
11
20
- [ Route ( "api/authentication " ) ]
12
+ [ Route ( "api/auth " ) ]
21
13
[ ApiController ]
22
- public class AuthenticationController : ControllerBase
14
+ public class AuthController : ControllerBase
23
15
{
24
16
private readonly ILogger _logger ;
25
17
private readonly IServiceManager _service ;
26
18
27
- public AuthenticationController ( ILogger < AuthenticationController > logger , IServiceManager service )
19
+ public AuthController ( ILogger < AuthController > logger , IServiceManager service )
28
20
{
29
21
_logger = logger ;
30
22
_service = service ;
31
23
}
32
24
33
- [ HttpGet ( "login" ) ]
25
+ [ HttpPost ( "login" ) ]
34
26
[ ProducesDefaultResponseType ( typeof ( TokenDto ) ) ]
35
- public async Task < IActionResult > Login ( string platformCode , string accessToken )
27
+ public async Task < IActionResult > Login ( LoginInputDto loginInputDto )
36
28
{
37
29
try
38
30
{
@@ -41,15 +33,15 @@ public async Task<IActionResult> Login(string platformCode, string accessToken)
41
33
// 액세스 토큰을 이용하여 플랫폼에서 유저 정보 받아오기
42
34
SingleSignOnUserInfo userInfo = null ;
43
35
44
- switch ( platformCode . ToUpper ( ) )
36
+ switch ( loginInputDto . platformCode . ToUpper ( ) )
45
37
{
46
38
case nameof ( CodePlatform . KAKAO ) :
47
39
userPlatform = CodePlatform . KAKAO ;
48
- userInfo = await _service . SingleSignOnService . GetKakaoUserInfo ( accessToken ) ;
40
+ userInfo = await _service . SingleSignOnService . GetKakaoUserInfo ( loginInputDto . accessToken ) ;
49
41
break ;
50
42
case nameof ( CodePlatform . GOOGLE ) :
51
43
userPlatform = CodePlatform . GOOGLE ;
52
- userInfo = await _service . SingleSignOnService . GetGoogleUserInfoToIdToken ( accessToken ) ;
44
+ userInfo = await _service . SingleSignOnService . GetGoogleUserInfoToIdToken ( loginInputDto . accessToken ) ;
53
45
break ;
54
46
default :
55
47
throw new Exception ( "유효한 platformCode 값이 아닙니다." ) ;
@@ -106,7 +98,7 @@ public async Task<IActionResult> Login(string platformCode, string accessToken)
106
98
}
107
99
else
108
100
{
109
- _logger . LogError ( $ "로그인 - 유저 생성 유효성 검사, platformCode: { platformCode } , accessToken: { accessToken } , userInfo.UserEmail: { userInfo . UserEmail } ") ;
101
+ _logger . LogError ( $ "로그인 - 유저 생성 유효성 검사, platformCode: { loginInputDto . platformCode } , accessToken: { loginInputDto . accessToken } , userInfo.UserEmail: { userInfo . UserEmail } ") ;
110
102
111
103
foreach ( var error in registedUser . Errors )
112
104
{
@@ -120,8 +112,28 @@ public async Task<IActionResult> Login(string platformCode, string accessToken)
120
112
}
121
113
catch ( Exception ex )
122
114
{
123
- _logger . LogError ( $ "로그인 catch, platformCode: { platformCode } , accessToken: { accessToken } , [{ ex . Message } ], [{ ex . StackTrace } ]") ;
115
+ _logger . LogError ( $ "로그인 catch, platformCode: { loginInputDto . platformCode } , accessToken: { loginInputDto . accessToken } , [{ ex . Message } ], [{ ex . StackTrace } ]") ;
124
116
return Unauthorized ( ) ;
125
117
}
126
118
}
119
+
120
+ [ HttpPost ( "refresh" ) ]
121
+ [ ProducesDefaultResponseType ( typeof ( TokenDto ) ) ]
122
+ public async Task < IActionResult > Refresh ( [ FromBody ] TokenDto tokenDto )
123
+ {
124
+ var tokenDtoToReturn = await _service . AuthenticationService . RefreshToken ( tokenDto ) ;
125
+ return Ok ( tokenDtoToReturn ) ;
126
+ }
127
+
128
+ [ HttpPost ( "logout" ) ]
129
+ public async Task < IActionResult > Logout ( )
130
+ {
131
+ return StatusCode ( 501 ) ;
132
+ }
133
+
134
+ [ HttpDelete ( "user" ) ]
135
+ public async Task < IActionResult > DeleteUser ( )
136
+ {
137
+ return StatusCode ( 501 ) ;
138
+ }
127
139
}
0 commit comments