我尝试使用IdentityServer3增强现有的WebApi。所以我安装了IdentityServer3.AccessTokenValidation包并将这段代码添加到我的启动配置
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "<myIdentityServerUrl>",
ValidationMode = ValidationMode.ValidationEndpoint,
RequiredScopes = new[] { "api1" }
});
(我没有应用AuthorizeAttribute过滤器,所以我可以看到发生了什么)。 到目前为止,身份服务器与文档(code here)中的完全相同。我试着调试 - 调用测试服务,我看到this.User(在controllers方法中)为null。所以我查看了RequestContext。现在这很奇怪:
据我所知,即使我在范围或权限上犯了一个错误 - 我非常怀疑 - 我仍然应该得到索赔。 AuthorizeAttribute可能会返回一个未经授权的http消息,但这并不重要,因为我还没有添加该过滤器。