public async Task <TokenResponseDto> GetAccessTokenAsync(TokenRequestDto request) { var user = await _userManager.FindByNameAsync(request.UserName); if (user == null) { throw new AuthException(AuthErrors.InvalidCredentials); } if (!await _userManager.CheckPasswordAsync(user, request.Password)) { throw new AuthException(AuthErrors.InvalidCredentials); } // generate refresh token var refreshToken = GenerateRefreshToken(); user.AddRefreshToken(refreshToken); await _userManager.UpdateAsync(user); var roles = await _userManager.GetRolesAsync(user); return(new TokenResponseDto() { AccessToken = _jwtGenerator.GenerateJwtToken(user, roles.ToList()), RefreshToken = refreshToken }); }
async Task <object> ISwmsAuthorizer.Authenticate(ControllerBase controllerBase, LoginDto loginDto) { SignInResult signInResult = await SignInAsync(loginDto); if (!signInResult.Succeeded) { return(controllerBase.BadRequest(signInResult)); } SwmsUser appUser = await _userManager.FindByNameAsync(loginDto.UserName); return(_jwtGenerator.GenerateJwtToken(appUser)); }