由于您对问题的描述有限,我已经设置了一个演示应用程序,我在其中实现OAuthAuthorizationServerProvider为 Provider forOAuthAuthorizationServerOptions和 override GrantResourceOwnerCredentialsandValidateClientAuthentication
public void Configuration(IAppBuilder app)
{
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions
{
Provider = new ApplicationOAuthBearerAuthenticationProvider()
});
app.Use<AuthenticationResponseMiddleware>();
var options = new OAuthAuthorizationServerOptions
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/api/xxxx"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
Provider = new OwinAuthorisationProvider()
};
app.UseOAuthAuthorizationServer(options);
}
还尝试AuthorizeAttribute在配置类中自定义并添加为过滤器.Filters.Add(new AuthorizeAttribute());
在AuthenticationResponseMiddleware我继承OwinMiddleware的public override async Task Invoke(IOwinContext context)方法中,请检查请求的流程。
它OAuthBearerAuthenticationProvider首先在RequestToken方法中命中,然后在OwinMiddleware类中命中,在进入任何 DelegatingHandler管道之前,大部分身份验证都是在此层中实现的。
检查后请评论您的发现,同时我也修改API并更新您,希望它可以帮助您。
米琪卡哇伊
胡子哥哥
相关分类