public async Task <JsonWebToken> SignInAsync(string email, string password) { var user = await _userRepository.GetAsync(email); if (user == null || !user.ValidatePassword(password, _passwordHasher)) { throw new MicroSException(Codes.InvalidCredentials, "Invalid credentials."); } var refreshToken = new dto.RefreshToken(user, _passwordHasher); var claims = await _claimsProvider.GetAsync(user.Id); var jwt = _jwtHandler.CreateToken(user.Id.ToString("N"), user.Role, claims); jwt.RefreshToken = refreshToken.Token; await _refreshTokenRepository.AddAsync(refreshToken); await _busPublisher.PublishAsync(new SignedIn(user.Id), CorrelationContext.Empty); return(jwt); }
public async Task UpdateAsync(dto.RefreshToken token) => await _repository.UpdateAsync(token);
public async Task AddAsync(dto.RefreshToken token) => await _repository.AddAsync(token);