43

W naszej Startup klasie, mam skonfigurowane następujące opcje serwera logowania:UseOAuthBearerTokens vs UseOAuthBearerAuthentication

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

Po tym, która opcja niby mamy użyć, aby rzeczywiście umożliwić uwierzytelnianie na okaziciela? Wygląda na to, że istnieją dwie odmiany w Internecie.

Opcja 1:

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

Opcja 2:

app.UseOAuthBearerTokens(OAuthServerOptions); 

I testowano ich obu, a wyniki są takie same.

Jaka jest różnica między tymi opcjami? Kiedy powinniśmy użyć które?

Odpowiedz

47

Metoda rozszerzeń UseOAuthBearerTokens tworzy serwer znaczników i oprogramowanie pośredniczące do sprawdzania tokenów dla żądań w tej samej aplikacji.

Pseudokod ze źródeł przy Reflektor

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