public async Task <TokensCortage> Login(string email, string password) { var user = await _userManager.FindByNameAsync(email); if (user == null) { throw new AuthenticationException(); } var checkResult = await _userManager.CheckPasswordAsync(user, password); if (!checkResult) { throw new AuthenticationException(); } var refreshToken = _tokenGenerator.GenerateRefreshToken(); await _tokenService.AddRefreshToken(refreshToken, user); return(new TokensCortage() { Token = _tokenGenerator.GenerateAccessToken(user), RefreshToken = refreshToken }); }
public async Task <ActionResult <Token> > LogIn(LoginRequest request) { var identity = await GetIdentity(request.Login, request.Password); if (identity == null) { return(BadRequest("Invalid username or password.")); } var token = _tokenService.GetToken(identity); _tokenService.AddRefreshToken(request.Login, token.RefreshToken); return(token); }