web-dev-qa-db-fra.com

UseOAuthBearerTokens vs UseOAuthBearerAuthentication

Dans notre classe Startup, j'ai configuré les options de serveur d'authentification suivantes:

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

Après cela, quelle option sommes-nous censés utiliser pour activer réellement l'authentification au porteur? Il semble qu'il y ait deux variantes sur Internet.

Option 1:

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

Option 2:

app.UseOAuthBearerTokens(OAuthServerOptions);

Je les ai testés tous les deux et les résultats sont les mêmes.

Quelle est la différence entre ces options? Quand devons-nous utiliser quoi?

49
Dave New

La méthode d'extension UseOAuthBearerTokens crée à la fois le serveur de jetons et le middleware pour valider les jetons des demandes dans la même application.

Pseudocode provenant de la source utilisant un réflecteur:

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