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?
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