43

In unserer Startup Klasse habe ich die folgenden Auth Serveroptionen konfiguriert:UseOAuthBearerTokens vs UseOAuthBearerAuthentication

OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() 
{ 
    AllowInsecureHttp = true, 
    TokenEndpointPath = new PathString("/api/v1/token"), 
    AccessTokenExpireTimeSpan = TimeSpan.FromDays(1), 
    Provider = new SimpleAuthorizationServerProvider() 
}; 

Danach wird die Option sind wir tatsächlich nutzen soll auf den Inhaber Authentifizierung aktivieren? Es scheint zwei Variationen im Internet zu geben.

Option 1:

app.UseOAuthAuthorizationServer(OAuthServerOptions); 
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); 

Option 2:

app.UseOAuthBearerTokens(OAuthServerOptions); 

ich getestet habe sie beide, und die Ergebnisse sind die gleichen.

Was sind die Unterschiede zwischen diesen Optionen? Wann sollen wir welche verwenden?

Antwort

47

Die Erweiterungsmethode UseOAuthBearerTokens erstellt sowohl den Token-Server als auch die Middleware, um Tokens für Anforderungen in derselben Anwendung zu validieren.

Pseudocode von der Quelle unter Verwendung von Reflektor:

UseOAuthAuthorizationServer(); // authorization server middleware 
UseOAuthBearerAuthentication(ApplicationOAuthBearerProvider); // application bearer token middleware   
UseOAuthBearerAuthentication(ExternalOAuthBearerProvider); // external bearer token middleware