From da9139b7bab95f6e5ba5f4bb2d99011c2d6db03a Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 23 Mar 2022 21:30:14 +0800 Subject: … MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BackEnd/Timeline/Services/User/UserService.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'BackEnd/Timeline/Services/User/UserService.cs') diff --git a/BackEnd/Timeline/Services/User/UserService.cs b/BackEnd/Timeline/Services/User/UserService.cs index a47bc860..1ad74bec 100644 --- a/BackEnd/Timeline/Services/User/UserService.cs +++ b/BackEnd/Timeline/Services/User/UserService.cs @@ -7,7 +7,8 @@ using System.Linq; using System.Threading.Tasks; using Timeline.Entities; using Timeline.Models.Validation; - +using Timeline.Services.Token; + namespace Timeline.Services.User { public class UserService : BasicUserService, IUserService @@ -19,14 +20,17 @@ namespace Timeline.Services.User private readonly IPasswordService _passwordService; + private readonly IUserTokenService _userTokenService; + private readonly UsernameValidator _usernameValidator = new UsernameValidator(); private readonly NicknameValidator _nicknameValidator = new NicknameValidator(); - public UserService(ILogger logger, DatabaseContext databaseContext, IPasswordService passwordService, IClock clock) : base(databaseContext) + public UserService(ILogger logger, DatabaseContext databaseContext, IPasswordService passwordService, IUserTokenService userTokenService, IClock clock) : base(databaseContext) { _logger = logger; _databaseContext = databaseContext; _passwordService = passwordService; + _userTokenService = userTokenService; _clock = clock; } @@ -162,6 +166,11 @@ namespace Timeline.Services.User await _databaseContext.SaveChangesAsync(); _logger.LogInformation(Resource.LogUserModified, entity.Username, id); + + if (password is not null) + { + await _userTokenService.RevokeAllTokenByUserIdAsync(id); + } } return entity; @@ -214,6 +223,8 @@ namespace Timeline.Services.User entity.Version += 1; await _databaseContext.SaveChangesAsync(); _logger.LogInformation(Resource.LogChangePassowrd, entity.Username, id); + + await _userTokenService.RevokeAllTokenByUserIdAsync(id); } } } -- cgit v1.2.3