public static string BuildToken(UserResponseUtil userResponseUtil, string secret) { var claims = new Claim[] { new Claim(JwtRegisteredClaimNames.UniqueName, userResponseUtil.UserID), new Claim(JwtRegisteredClaimNames.Email, userResponseUtil.Email), new Claim(ClaimTypes.Role, userResponseUtil.Role) //new Claim(JwtRegisteredClaimNames.Iss, key), }; var secretKey = Encoding.UTF8.GetBytes(secret); var expiration = DateTime.UtcNow.AddHours(1); var creds = new SigningCredentials(new SymmetricSecurityKey(secretKey), SecurityAlgorithms.HmacSha256Signature); JwtSecurityToken token = new JwtSecurityToken( issuer: null, audience: null, claims: claims, expires: expiration, signingCredentials: creds); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public async Task <AuthResponse> AuthAndGenerateToken(AuthReadRequest authReadRequest) { UserResponse userResponse = await GetUser(authReadRequest); string secret = _configuration["Authentication:Secret"]; UserResponseUtil userToUserUtil = _mapper.Map <UserResponseUtil>(userResponse); string tokenBuilded = TokenBuilder.BuildToken(userToUserUtil, secret); return(new AuthResponse { User = userResponse, Token = new TokenResponse { Token = tokenBuilded } }); }