Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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
            });
        }