2016-04-25 3 views
2

Ich habe den folgenden Code in meiner Anwendung überprüft, sage WebApp1:Wie UseIdentityServerBearerTokenAuthentication die JWT-Token (mit lokalem Modus)

app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions 
     { 

      Authority = "IdentityServerPath", 
      RequiredScopes = new[] { "write", "role", "all_claims" }, 
      ValidationMode = ValidationMode.Local, 
     }); 

Caller/Client-Anwendung der JWT Token WebApp1 gibt. Wie weiß die WebApp1, dass das JWT-Token gültig ist? Muss WebApp1 den öffentlichen Schlüssel des JWT-Tokens kennen? Wenn nicht, wie kann die Signatur von JWT durch WebApp1 verifiziert werden? Bitte beachten Sie, dass ich ValidationMode als lokal verwende, so dass WebApp1 IdentityServer nicht kontaktiert, um das JWT-Token zu validieren.

+0

Hallo, nutzt Ihr Client den impliziten Fluss? – Alegrowin

Antwort

3

Für die Option "lokal" verwendet UseIdentityServerBearerTokenAuthentication das Erkennungsdokument (https://openid.net/specs/openid-connect-discovery-1_0.html), um die für die Validierung von JWTs erforderlichen Signiermaterialien dynamisch herunterzuladen.

Die andere Option von „validation Endpunkt“ verwendet entweder den individuellen Token-Validierung Endpunkt (https://identityserver.github.io/Documentation/docsv2/endpoints/accessTokenValidation.html), oder wenn eine Client-ID und geheimen konfiguriert sind, dann wird der Standard-OAuth2 Introspection (https://tools.ietf.org/html/rfc7662) Endpunkt verwendet wird, um die Token zu validieren (https://identityserver.github.io/Documentation/docsv2/endpoints/introspection.html).

Die letzte Option von "both" bestimmt dynamisch, welcher der beiden oben beschriebenen Ansätze auf einigen Heuristiken auf dem Token für eingehende Zugriffe basiert, die der Web-API angezeigt werden.

+0

Danke. Ich dachte, ich müsste die Validierung explizit machen. Ich habe gerade erfahren, dass die Validierung bereits als Teil des UseIdentityServerBearerTokenAuthentication-Codes selbst erfolgt. –

Verwandte Themen