public string CreateToken(Guid id, string email, string role) { var descriptor = _jwtFactory.CreateTokenDescriptor(); var claims = new List <Claim> { _jwtFactory.CreateClaim(ClaimTypes.Email, email), _jwtFactory.CreateClaim(ClaimTypes.NameIdentifier, id.ToString()), _jwtFactory.CreateClaim(ClaimTypes.Role, role) }; var identity = _jwtFactory.CreateClaimsIdentity(claims); descriptor.Subject = identity; descriptor.Expires = DateTime.Now.AddHours(3); descriptor.SigningCredentials = _jwtFactory.CreateSigningCredentials(_configuration.GetSection("jwt:secret").Value, SecurityAlgorithms.HmacSha512Signature); var token = _jwtSecurityTokenHandler.CreateToken(descriptor); return(_jwtSecurityTokenHandler.WriteToken(token)); }