我遇到Identity Server 3和承载令牌身份验证问题。
基本上,我可以使用过期的访问令牌调用我的Web API方法,并且Web API对用户进行身份验证并返回数据。
我已将我的客户端设置为具有360秒的访问令牌生存期,当我检查声明时确实如此。
如何确保使用过期的访问令牌无法调用我的Web API。我是否需要在IdentityServerBearerTokenAuthenticationOptions
中设置内容?
感谢。
答案 0 :(得分:0)
当请求进入时,我们要做的第一件事就是检查身份是否经过身份验证,并且身份验证类型是" Bearer"。
private static bool RequestIsAuthenticated(HttpActionContext actionContext)
{
return (actionContext.RequestContext.Principal.Identity.AuthenticationType == "Bearer" && actionContext.RequestContext.Principal.Identity.IsAuthenticated);
}
如果返回false,则返回HttpStatusCode.Unauthorized。