43

В нашем Startup классе, я настроил следующие параметры аутентификации сервера:UseOAuthBearerTokens против UseOAuthBearerAuthentication

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

После этого, какой вариант мы должны использовать, чтобы фактически включить проверку подлинности носителя? В Интернете, похоже, есть два варианта.

Вариант 1:

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

Вариант 2:

app.UseOAuthBearerTokens(OAuthServerOptions); 

Я проверил их обоих, и результаты одинаковы.

В чем разница между этими параметрами? Когда мы должны использовать это?

ответ

47

Метод расширения UseOAuthBearerTokens создает как маркерный сервер, так и промежуточное программное обеспечение для проверки токенов для запросов в одном приложении.

Псевдокод от источника с помощью отражателя:

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