43

Nella nostra classe Startup, ho configurato le seguenti opzioni del server di autenticazione:UseOAuthBearerTokens vs UseOAuthBearerAuthentication

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

dopo questo, quale opzione dovremmo utilizzare per abilitare l'autenticazione in realtà portatore? Sembrano esserci due varianti su Internet.

Opzione 1:

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

Opzione 2:

app.UseOAuthBearerTokens(OAuthServerOptions); 

li sia testato ed i risultati sono gli stessi.

Quali sono le differenze tra queste opzioni? Quando dovremmo usare quale?

risposta

47

Il metodo di estensione UseOAuthBearerTokens crea sia il token server che il middleware per convalidare i token per le richieste nella stessa applicazione.

Pseudocode dalla sorgente usando riflettore:

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