在我们的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