IdentityServer3:Principal始终为null

时间:2016-11-04 14:49:39

标签: asp.net identityserver3

我尝试使用IdentityServer3增强现有的WebApi。所以我安装了IdentityServer3.AccessTokenValidation包并将这段代码添加到我的启动配置

app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
        {
            Authority = "<myIdentityServerUrl>",
            ValidationMode = ValidationMode.ValidationEndpoint,

            RequiredScopes = new[] { "api1" }
        });

(我没有应用AuthorizeAttribute过滤器,所以我可以看到发生了什么)。 到目前为止,身份服务器与文档(code here)中的完全相同。我试着调试 - 调用测试服务,我看到this.User(在controllers方法中)为null。所以我查看了RequestContext。现在这很奇怪:

  • RequestContext.Principals为null
  • RequestContext.Request.Headers.Authorization具有正确的access_token

据我所知,即使我在范围或权限上犯了一个错误 - 我非常怀疑 - 我仍然应该得到索赔。 AuthorizeAttribute可能会返回一个未经授权的http消息,但这并不重要,因为我还没有添加该过滤器。

0 个答案:

没有答案