aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Services/UserService.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-04-21 23:23:49 +0800
committercrupest <crupest@outlook.com>2019-04-21 23:23:49 +0800
commit0920d6ca8d8f92e612148aa1d3c4eaea5f407d94 (patch)
treee139e794df8cd20c1cf4f60c668dd1d94bf239e1 /Timeline/Services/UserService.cs
parent748aa44ccaf88686ffbaf9e31d025be24e2d200a (diff)
downloadtimeline-0920d6ca8d8f92e612148aa1d3c4eaea5f407d94.tar.gz
timeline-0920d6ca8d8f92e612148aa1d3c4eaea5f407d94.tar.bz2
timeline-0920d6ca8d8f92e612148aa1d3c4eaea5f407d94.zip
Allow ordinary user to patch his password.
Diffstat (limited to 'Timeline/Services/UserService.cs')
-rw-r--r--Timeline/Services/UserService.cs21
1 files changed, 5 insertions, 16 deletions
diff --git a/Timeline/Services/UserService.cs b/Timeline/Services/UserService.cs
index 34eeb1ad..a0d358dd 100644
--- a/Timeline/Services/UserService.cs
+++ b/Timeline/Services/UserService.cs
@@ -101,7 +101,7 @@ namespace Timeline.Services
/// <param name="roles">New roles. If not modify, then null.</param>
/// <returns>Return <see cref="PatchUserResult.Success"/> if modification succeeds.
/// Return <see cref="PatchUserResult.NotExists"/> if the user of given username doesn't exist.</returns>
- Task<PatchUserResult> PatchUser(string username, string password, string[] roles);
+ Task<PatchUserResult> PatchUser(string username, string password, string[] roles);
/// <summary>
/// Delete a user of given username.
@@ -148,7 +148,7 @@ namespace Timeline.Services
return new CreateTokenResult
{
- Token = _jwtService.GenerateJwtToken(user.Id, userInfo.Roles),
+ Token = _jwtService.GenerateJwtToken(user.Id, userInfo.Username, userInfo.Roles),
UserInfo = userInfo
};
}
@@ -161,26 +161,15 @@ namespace Timeline.Services
public async Task<UserInfo> VerifyToken(string token)
{
- var userId = _jwtService.VerifyJwtToken(token);
+ var userInfo = _jwtService.VerifyJwtToken(token);
- if (userId == null)
+ if (userInfo == null)
{
_logger.LogInformation($"Verify token falied. Reason: invalid token. Token: {token} .");
return null;
}
- var user = await _databaseContext.Users
- .Where(u => u.Id == userId.Value)
- .Select(u => UserInfo.Create(u.Name, u.RoleString))
- .SingleOrDefaultAsync();
-
- if (user == null)
- {
- _logger.LogInformation($"Verify token falied. Reason: invalid user id. UserId: {userId} Token: {token} .");
- return null;
- }
-
- return user;
+ return await Task.FromResult(userInfo);
}
public async Task<UserInfo> GetUser(string username)