【问题标题】:Trust multiple instances of IdentityServer信任多个 IdentityServer 实例
【发布时间】:2020-11-07 19:01:34
【问题描述】:

我们正在尝试与另一个部门集成,我们每个人都有一个 IdentityServer 实例。

他们想通过他们的 IdentityServer 实例生成的 access_tokens 来使用我们的 API。

(我们的 IdentityServer 和我们的 API):

[IdentityServer-A] [API-A]

(他们的 IdentityServer 和他们的 API):

[IdentityServer-B] --(生成 access_tokens)--> [Website-B] --> [API-A]

当我在上面的场景中运行时

IdentityServer-A 记录此错误

IdentityServer4.Validation.TokenValidator 引用令牌无效。

我可以理解这个错误,因为它在 IdentityServer-B 中是一个无效的引用令牌,因为它是从 IdentityServer-B 生成的。

但问题是我如何信任从 IdentityServer-B 中的 IdentityServer-A 生成的引用令牌?

【问题讨论】:

  • IS4-B 能否将您的 API 添加为要保护的资源。然后你可以在你的 IS4-A 中添加 IS4-B 作为身份提供者吗?这将促进使用 OIDC 的 SSO 类型的工作流。怎么说?
  • 你不能使用openidconnect,但你必须使用AddOAuth。然后,您可以根据需要添加任意数量的身份提供者。 I created a sample here。您必须先导入 bacpac 文件。

标签: .net oauth identityserver4 identityserver3 federated-identity


【解决方案1】:

唯一直接的解决方案似乎是切换到 jwt。使用参考令牌几乎不可能,因为参考令牌甚至不包含有关其发行者的任何信息。

另一种方法是在 IdSrv 实例之间共享令牌存储。 另一种方法是在您的 [IdentityServer-A] 中实现对 [IdentityServer-B] 的后备调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    相关资源
    最近更新 更多