Skip to content

Instantly share code, notes, and snippets.

@sunilkumarmedium
Created November 22, 2020 07:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sunilkumarmedium/f374d2ab5e679ddda6c2046bd03f5c19 to your computer and use it in GitHub Desktop.
Save sunilkumarmedium/f374d2ab5e679ddda6c2046bd03f5c19 to your computer and use it in GitHub Desktop.
JwtTokenGeneration
private Task<JwtSecurityToken> GenerateJWToken(User user)
{
var claims = new[]
{
new Claim(JwtRegisteredClaimNames.Sub, user.UserName),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
new Claim(JwtRegisteredClaimNames.Email, user.UserEmail),
new Claim("uid", user.UserId.ToString()),
};
var symmetricSecurityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtSettings.Key));
var signingCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256);
var jwtSecurityToken = new JwtSecurityToken(
issuer: _jwtSettings.Issuer,
audience: _jwtSettings.Audience,
claims: claims,
expires: DateTime.UtcNow.AddMinutes(_jwtSettings.DurationInMinutes),
signingCredentials: signingCredentials);
return Task.FromResult(jwtSecurityToken);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment