如果您的密碼是基本64編碼的字節數組,則這似乎可行。
public static void ValidateJwtWithHs256(String encodedJwt, String base64EncodedSecret, String validAudience, String validIssuer)
{
var tokenValidationParameters = new TokenValidationParameters
{
IssuerSigningToken = new BinarySecretSecurityToken(Base64UrlEncoder.DecodeBytes(base64EncodedSecret)),
ValidIssuer = validIssuer,
ValidAudience = validAudience,
};
SecurityToken securityToken;
new JwtSecurityTokenHandler().ValidateToken(encodedJwt, tokenValidationParameters, out securityToken);
}
或者,你可以告訴驗證器無法驗證某些部分,像這樣:
var tokenValidationParameters = new TokenValidationParameters
{
IssuerSigningToken = new BinarySecretSecurityToken(Base64UrlEncoder.DecodeBytes(base64EncodedSecret)),
ValidateAudience = false,
ValidateIssuer = false,
};
不幸的是,我仍然不知道如何在一個祕密的字符串,它是不工作的鹼基64編碼像http://jwt.io那樣。