【发布时间】:2017-07-04 11:17:40
【问题描述】:
我正在使用 IdentityServer4 来保护一些 webapi。由于我们客户设置中的一个怪癖,我们需要支持一个设置,我们将有多个运行 IdentityServer4 的应用程序来向不同的客户端颁发令牌。然而,这些客户端最终会调用一些公共服务。
因此,这些通用服务需要能够验证来自多个 IdentityServer4 实例的令牌。由于您在启动时向资源服务器注册了一个 IdentityServer 实例,我认为只要所有 IdentityServer 以相同的方式签署令牌,它就可以工作。
我假设将 IdentityServer 设置为使用共享 X509 证书将允许来自一个 IdentityServer 的令牌在配置为使用不同 IdentityServer 的资源服务器上进行验证,但情况似乎并非如此。从 Server1 请求令牌,然后使用 Server2 将其提交到资源服务器不起作用,即使它们都使用相同的证书。
有没有办法让这个工作?
【问题讨论】:
-
在配置资源服务器以使用 Identity Server 进行身份验证时,您需要指定范围和权限等内容...您的所有身份服务器是否都具有与 URI 中相同的“权限”。
-
很想看到这个问题的答案...有类似的情况,但使用指向同一个身份服务器实例的两个域名 - 这也不起作用,因为您必须设置 Api 资源“权限”到单个 URI。
标签: c# asp.net-core identityserver4