Quando provo a passare questo JWT (rilasciato da Azure Mobile Services) come un'intestazione HTTP/autorizzazione/portatore token:Perché ottengo SecurityTokenSignatureKeyNotFoundException?
Header:
{
"alg": "HS256",
"typ": "JWT",
"kid": "0"
}
Claims:
{
"ver": 2,
"aud": "Facebook",
"iss": "urn:microsoft:windows-azure:zumo",
"urn:microsoft:credentials": "pYK8b5...",
"exp": 1436730730,
"uid": "Facebook:10000xxxxxxxxxx"
}
Nel mio ASP.NET WEB API configurata:
const string issuer = "urn:microsoft:windows-azure:zumo";
byte[] mobileServicesSecret = TextEncodings.Base64Url.Decode(ConfigurationManager.AppSettings["as:SecretKey"]);
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { "Facebook" },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, mobileServicesSecret)
}
});
I get:
Una prima eccezione di possibilità di tipo 'System.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException' si è verificato in Syst em.IdentityModel.Tokens.Jwt.dll
Ho il sospetto che questo è perché la presenza della proprietà "ragazzo"?
MODIFICA: utilizzando questo https://github.com/Magenic/JWTvalidator/tree/master/JwtValidator/JwtValidator, è possibile convalidare il JWT, quindi non c'è niente di sbagliato in esso. Ma voglio davvero usare OWIN/Katana.
Potresti superare il problema? Sono bloccato con questo. Potrebbe fornire il codice. –
@ KunalB. no, scusate, non ho mai trovato una soluzione per usare Owin/Katana. Ho dovuto utilizzare la classe JwtValidator nel link e utilizzare un attributo di autenticazione personalizzato per convalidarlo. Microsoft fa ciò che sa fare meglio; un team (il team Azure Mobiles Services) siede su un lato del recinto, l'altro (il team ASP.NET) si trova dall'altra parte, e probabilmente non si sono mai parlati ... :( –
Dopo 2 giorni ecco cosa Ho trovato - http://markwalsh.io/development/2014/12/02/ASP.Net%20Web%20API%20with%20JWT/ questo ha funzionato per me. Durante il debug ho ancora un messaggio strano –