Asp.net-Identity

UseOAuthBearerTokens 與 UseOAuthBearerAuthentication

  • January 20, 2015

在我們的Startup課程中,我配置了以下身份驗證伺服器選項:

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);

我已經對它們進行了測試,結果是相同的。

這些選項有什麼區別?我們什麼時候應該使用哪個?

UseOAuthBearerTokens擴展方法創建令牌伺服器和中間件來驗證同一應用程序中請求的令牌。

使用反射器的原始碼虛擬碼:

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

引用自:https://stackoverflow.com/questions/28048355