I want to add one role as an array element in JWT token in C#.
{
"roles": ["Administrator"]
}
Currently, I used this type of code to generate the JWT token claims. This does not help me to create an array type of claim.
string PrivateKey = "string private here";
List<Claim> claims = new List<Claim>();
claims.Add(new Claim("roles", "[Administrator]"));
string tokenString = CreateToken(claims, PrivateKey);
public string CreateToken(List<Claim> claims, string privateRsaKey)
{
.........................................................
JwtSecurityToken token = new JwtSecurityToken(
Issuer,
Audience,
claims,
now,
Expiration,
null);
string payload = token.Payload.SerializeToJson();
return Jose.JWT.Encode(payload, rsa, Jose.JwsAlgorithm.RS256);
}
Actually I want to add only one array element. I can't do like this. because it adds multiple array elements.
List<Claim> claims = new List<Claim>();
claims.Add(new Claim("roles", "[Administrator]"));
claims.Add(new Claim("roles", "[Administrator]"));
How can I do this?