public async Task <object> RefreshToken(string id, string RefreshToken, string refreshToken) { var user = await _userReporitory.GetRefreshToken(id); if (user is null || user.UserRefreshTokens?.Count() <= 0) { return(null); } if (!user.IsValidRefreshToken(RefreshToken)) { return(null); } UserRefreshToken refresh = user.UserRefreshTokens.Where(o => o.Token == RefreshToken).FirstOrDefault(); if (!_RefreshTokenRepository.Delete(refresh)) { return(null); } user.CreateRefreshToken(refreshToken, user.UserName); if (!await _userReporitory.Save(user)) { return(null); } IEnumerable <Claim> claims = new Claim[] { new Claim(JwtClaimTypes.Email, user.EMail), new Claim(JwtClaimTypes.Name, user.UserName), new Claim(JwtClaimTypes.Role, "admin"), }; return(claims); }
public bool DeleteUser(int id) { List <UserChatRoom> listUserChatRoom = _userChatRoomRepository.GetAllUserChatRoom(id); foreach (UserChatRoom i in listUserChatRoom) { _userChatRoomRepository.Delete(i); } List <UserRefreshToken> listRefreshToken = _userRefreshTokenRepository.GetTokenByUID(id); foreach (UserRefreshToken i in listRefreshToken) { _userRefreshTokenRepository.Delete(i); } _userRepository.Delete(_userRepository.GetById(id)); return(true); }