diff options
author | crupest <crupest@outlook.com> | 2019-04-21 23:23:49 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-04-21 23:23:49 +0800 |
commit | 0920d6ca8d8f92e612148aa1d3c4eaea5f407d94 (patch) | |
tree | e139e794df8cd20c1cf4f60c668dd1d94bf239e1 /Timeline/Services/UserService.cs | |
parent | 748aa44ccaf88686ffbaf9e31d025be24e2d200a (diff) | |
download | timeline-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.cs | 21 |
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) |