I den folgenden Code verwende, die ich ursprünglich aus dem jwt-dotnet github pageJwt-Dotnet mit einem gültigen Token generieren
private static string CreateToken(UserPrincipal principal)
{
/*
* https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
* http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html
*/
var key = ConfigurationManager.AppSettings["jwt-key"];
var claims = new Dictionary<string, string>()
{
{ClaimTypes.Name, "Rainbow Dash" },
{ClaimTypes.WindowsAccountName, "RDash"}
};
var algorithm = new HMACSHA256Algorithm();
var serializer = new JsonNetSerializer();
var urlEncoder = new JwtBase64UrlEncoder();
var encoder = new JwtEncoder(algorithm, serializer, urlEncoder);
var token = encoder.Encode(claims, key);
return token;
}
Der obige Code erzeugt das folgende Token entlehnt:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiUmFpbmJvdyBEYXNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy93aW5kb3dzYWNjb3VudG5hbWUiOiJSRGFzaCJ9 .5WZWDJ0pvTe6QLjVNUeTfZicX_wSk1dtYvXUbpiOiw
Also, ich hüpfte zu jwt.io, um mein Token zu testen. Mir wurde gesagt, dass ich eine ungültige Signatur habe.
Wie gebe ich eine gültige "Signatur"? Ich verstehe nicht, was mein JWT vermisst.
Oooooooh! Es fragt nach dem Schlüssel! * facepalm * – Amy
Nun, jetzt fühle ich mich albern. Ich akzeptiere deine Antwort, sobald die Zeit abgelaufen ist. – Amy
@Amy passiert den Besten von uns :) – Nasreddine