diff options
author | crupest <crupest@outlook.com> | 2022-03-23 21:30:14 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-03-23 21:30:31 +0800 |
commit | da9139b7bab95f6e5ba5f4bb2d99011c2d6db03a (patch) | |
tree | 051fd4ca4bc511db7e04b019a33fddaab2d0cc6b /BackEnd/Timeline/Controllers/TokenController.cs | |
parent | 3d6c9fd916e18c99b3a5497b8313672680571b5e (diff) | |
download | timeline-da9139b7bab95f6e5ba5f4bb2d99011c2d6db03a.tar.gz timeline-da9139b7bab95f6e5ba5f4bb2d99011c2d6db03a.tar.bz2 timeline-da9139b7bab95f6e5ba5f4bb2d99011c2d6db03a.zip |
…
Diffstat (limited to 'BackEnd/Timeline/Controllers/TokenController.cs')
-rw-r--r-- | BackEnd/Timeline/Controllers/TokenController.cs | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/BackEnd/Timeline/Controllers/TokenController.cs b/BackEnd/Timeline/Controllers/TokenController.cs index ae3e1b94..9ee5a09f 100644 --- a/BackEnd/Timeline/Controllers/TokenController.cs +++ b/BackEnd/Timeline/Controllers/TokenController.cs @@ -19,13 +19,15 @@ namespace Timeline.Controllers [ProducesErrorResponseType(typeof(CommonResponse))]
public class TokenController : MyControllerBase
{
- private readonly IUserTokenManager _userTokenManager;
+ private readonly IUserService _userService;
+ private readonly IUserTokenService _userTokenService;
private readonly IGenericMapper _mapper;
private readonly IClock _clock;
- public TokenController(IUserTokenManager userTokenManager, IGenericMapper mapper, IClock clock)
+ public TokenController(IUserService userService, IUserTokenService userTokenService, IGenericMapper mapper, IClock clock)
{
- _userTokenManager = userTokenManager;
+ _userService = userService;
+ _userTokenService = userTokenService;
_mapper = mapper;
_clock = clock;
}
@@ -47,12 +49,14 @@ namespace Timeline.Controllers if (request.Expire is not null)
expireTime = _clock.GetCurrentTime().AddDays(request.Expire.Value);
- var result = await _userTokenManager.CreateTokenAsync(request.Username, request.Password, expireTime);
+ var userId = await _userService.VerifyCredential(request.Username, request.Password);
+ var token = await _userTokenService.CreateTokenAsync(userId, expireTime);
+ var user = await _userService.GetUserAsync(userId);
return new HttpCreateTokenResponse
{
- Token = result.Token,
- User = await _mapper.MapAsync<HttpUser>(result.User, Url, User)
+ Token = token,
+ User = await _mapper.MapAsync<HttpUser>(user, Url, User)
};
}
catch (EntityNotExistException)
@@ -77,27 +81,20 @@ namespace Timeline.Controllers {
try
{
- var result = await _userTokenManager.VerifyTokenAsync(request.Token);
+ var tokenInfo = await _userTokenService.ValidateTokenAsync(request.Token);
+ var user = await _userService.GetUserAsync(tokenInfo.UserId);
return new HttpVerifyTokenResponse
{
- User = await _mapper.MapAsync<HttpUser>(result, Url, User)
+ User = await _mapper.MapAsync<HttpUser>(user, Url, User)
};
}
- catch (UserTokenTimeExpiredException)
+ catch (UserTokenExpiredException)
{
- return BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyTimeExpired, Resource.MessageTokenVerifyTimeExpired);
+ return BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyExpired, Resource.MessageTokenVerifyExpired);
}
- catch (UserTokenVersionExpiredException)
+ catch (UserTokenException)
{
- return BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyOldVersion, Resource.MessageTokenVerifyOldVersion);
- }
- catch (UserTokenBadFormatException)
- {
- return BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyBadFormat, Resource.MessageTokenVerifyBadFormat);
- }
- catch (UserTokenUserNotExistException)
- {
- return BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyUserNotExist, Resource.MessageTokenVerifyUserNotExist);
+ return BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyInvalid, Resource.MessageTokenVerifyInvalid);
}
}
}
|