2017-05-31 1 views
1

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.

Antwort

1

Das Werkzeug über JWT.io kann die digitale Signatur Ihrer Token überprüfen, ob Sie den geheimen Signaturschlüssel Sie während eines Token zu schaffen verwendet geben:

enter image description here

Und aus an Ihrem Code suchen ist es die Wert enthalten in Ihrem:

ConfigurationManager.AppSettings["jwt-key"]; 

Geben Sie einfach den Wert in der „geheimen“ Textfeld und wenn die Signatur des Tokens, die eine nach der JWT.io berechnet passt dann erhalten Sie eine Meldung erhalten, dass die Signatur gültig.

+1

Oooooooh! Es fragt nach dem Schlüssel! * facepalm * – Amy

+1

Nun, jetzt fühle ich mich albern. Ich akzeptiere deine Antwort, sobald die Zeit abgelaufen ist. – Amy

+0

@Amy passiert den Besten von uns :) – Nasreddine

Verwandte Themen