我的MVC WebAPI项目有一个常规的OWIN OAuth设置 - 来自前端开发人员的一个请求是能够确定令牌是否被拒绝,因为它已经过期,或者它只是一个无效的令牌。
据我所知,默认情况下,OAuthAuthorizationServerProvider位于中间,并且神奇地拦截查看承载令牌的Authorization标头的请求,并确定是否已对此请求授权或发送401 / Authorization。
是否可以自定义此行为/是否有其他方法可以确定授权被拒绝后的原因?
我可以看到存在以下方法:
public virtual Task ValidateAuthorizeRequest(OAuthValidateAuthorizeRequestContext context);
但是我不确定默认的实现是什么,看起来是什么样的,或者这是否是我应该去定制提供者以实现我所追求的目标。
我在Startup.cs中的OAuthOptions:
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId, UserManagerFactory),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60),
AllowInsecureHttp = true
};