持票人令牌授权

时间:2015-04-22 17:53:29

标签: c# thinktecture-ident-server openid-connect identityserver3

我遇到Identity Server 3和承载令牌身份验证问题。

基本上,我可以使用过期的访问令牌调用我的Web API方法,并且Web API对用户进行身份验证并返回数据。

我已将我的客户端设置为具有360秒的访问令牌生存期,当我检查声明时确实如此。

如何确保使用过期的访问令牌无法调用我的Web API。我是否需要在IdentityServerBearerTokenAuthenticationOptions中设置内容?

感谢。

1 个答案:

答案 0 :(得分:0)

当请求进入时,我们要做的第一件事就是检查身份是否经过身份验证,并且身份验证类型是" Bearer"。

    private static bool RequestIsAuthenticated(HttpActionContext actionContext)
    {
        return (actionContext.RequestContext.Principal.Identity.AuthenticationType == "Bearer" && actionContext.RequestContext.Principal.Identity.IsAuthenticated);
    }

如果返回false,则返回HttpStatusCode.Unauthorized。