web-dev-qa-db-ja.com

UseOAuthBearerTokens対UseOAuthBearerAuthentication

Startupクラスでは、次の認証サーバーオプションを構成しました。

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

この後、ベアラ認証を実際に有効にするために使用するオプションはどれですか?インターネットには2つのバリエーションがあるようです。

オプション1:

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

オプション2:

app.UseOAuthBearerTokens(OAuthServerOptions);

両方をテストしましたが、結果は同じです。

これらのオプションの違いは何ですか?いつどれを使うべきですか?

49
Dave New

UseOAuthBearerTokens拡張メソッドは、トークンサーバーとミドルウェアの両方を作成して、同じアプリケーション内のリクエストのトークンを検証します。

リフレクターを使用したソースからの擬似コード:

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