This is what worked for me:
var securityKey = new InMemorySymmetricSecurityKey(Encoding.Default.GetBytes("MySecretKey"));
var header = new JwtHeader(new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.Sha256Digest));
var payload = new JwtPayload();
var claims = new List<Claim>
{
new Claim(ClaimTypes.Email, "jdoe@gmail.com"),
...
};
payload.AddClaims(claims);
payload.Add("tags", new List<string> { "admin", "user" });
var token = new JwtSecurityToken(header, payload);
var tokenString = securityTokenHandler.WriteToken(token);
source
share