aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services/UserTokenManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'BackEnd/Timeline/Services/UserTokenManager.cs')
-rw-r--r--BackEnd/Timeline/Services/UserTokenManager.cs13
1 files changed, 8 insertions, 5 deletions
diff --git a/BackEnd/Timeline/Services/UserTokenManager.cs b/BackEnd/Timeline/Services/UserTokenManager.cs
index 09ecd19c..b887b987 100644
--- a/BackEnd/Timeline/Services/UserTokenManager.cs
+++ b/BackEnd/Timeline/Services/UserTokenManager.cs
@@ -10,7 +10,7 @@ namespace Timeline.Services
public class UserTokenCreateResult
{
public string Token { get; set; } = default!;
- public User User { get; set; } = default!;
+ public UserInfo User { get; set; } = default!;
}
public interface IUserTokenManager
@@ -38,20 +38,22 @@ namespace Timeline.Services
/// <exception cref="UserTokenBadVersionException">Thrown when the token is of bad version.</exception>
/// <exception cref="UserTokenBadFormatException">Thrown when the token is of bad format.</exception>
/// <exception cref="UserNotExistException">Thrown when the user specified by the token does not exist. Usually the user had been deleted after the token was issued.</exception>
- public Task<User> VerifyToken(string token);
+ public Task<UserInfo> VerifyToken(string token);
}
public class UserTokenManager : IUserTokenManager
{
private readonly ILogger<UserTokenManager> _logger;
private readonly IUserService _userService;
+ private readonly IUserCredentialService _userCredentialService;
private readonly IUserTokenService _userTokenService;
private readonly IClock _clock;
- public UserTokenManager(ILogger<UserTokenManager> logger, IUserService userService, IUserTokenService userTokenService, IClock clock)
+ public UserTokenManager(ILogger<UserTokenManager> logger, IUserService userService, IUserCredentialService userCredentialService, IUserTokenService userTokenService, IClock clock)
{
_logger = logger;
_userService = userService;
+ _userCredentialService = userCredentialService;
_userTokenService = userTokenService;
_clock = clock;
}
@@ -65,14 +67,15 @@ namespace Timeline.Services
if (password == null)
throw new ArgumentNullException(nameof(password));
- var user = await _userService.VerifyCredential(username, password);
+ var userId = await _userCredentialService.VerifyCredential(username, password);
+ var user = await _userService.GetUser(userId);
var token = _userTokenService.GenerateToken(new UserTokenInfo { Id = user.Id, Version = user.Version, ExpireAt = expireAt });
return new UserTokenCreateResult { Token = token, User = user };
}
- public async Task<User> VerifyToken(string token)
+ public async Task<UserInfo> VerifyToken(string token)
{
if (token == null)
throw new ArgumentNullException(nameof(token));