UseOAuthBearerToken与UseOAuthBearerAuthentication

在我们的Startup类中,我configuration了以下auth服务器选项:

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

在此之后,我们应该使用哪个选项来实际启用承载authentication? 互联网上似乎有两个变种。

选项1:

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

选项2:

 app.UseOAuthBearerTokens(OAuthServerOptions); 

我testing了他们两个,结果是一样的。

这些选项有什么区别? 我们什么时候该用哪个?

UseOAuthBearerTokens扩展方法创build令牌服务器和中间件,以validation相同应用程序中的请求的令牌。

使用reflection器从源代码伪代码:

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