private async Task <JwtToken> GenerateToken(User user) { var token = _tokenService.CreateToken(user); var refreshToken = _tokenService.GenerateRefreshToken(user); await _tokenService.AddRefreshTokenAsync(refreshToken); return(new JwtToken(token, refreshToken.Token)); }
private async Task <LoginResultModel> GenerateTokenAsync(User user) { var claims = new Claim[] { new Claim(ApiConstants.UserIdClaimName, user.Id.ToString()), new Claim(ClaimTypes.Email, user.Email), new Claim(ClaimTypes.Role, user.Role.ToString()) }; var accessToken = _tokenService.GenerateAccessToken(claims); var refreshToken = _tokenService.GenerateRefreshToken(user.Id); await _tokenService.AddRefreshTokenAsync(refreshToken); return(new LoginResultModel { AccessToken = accessToken, RefreshToken = refreshToken.Value, RefreshTokenExpireTime = refreshToken.ExpiresUtc, UserId = user.Id, UserName = user.Name }); }