如何将 IdentityServer4 设置为外部身份提供者
Posted
技术标签:
【中文标题】如何将 IdentityServer4 设置为外部身份提供者【英文标题】:How to setup IdentityServer4 to be an external identity provider 【发布时间】:2021-05-21 18:42:08 【问题描述】:有很多关于如何添加外部身份提供商(如 Google、Facebook、Microsoft 等)的信息和文档。
IdentityServer4 是否支持作为另一个 OpenID Connect 服务器(可能是另一个 IdentityServer4 实例)的外部身份提供者?
如果是这样,您如何设置?如果我的 IdentityServer4 实例(实例 A)充当另一个 IdentityServer4 实例(实例 B)的外部提供者,我需要在实例 A 上为实例 B 设置什么样的客户端?
任何有关该主题的文档或示例都会非常有帮助。
【问题讨论】:
【参考方案1】:是的,您可以使用 IdentityServer 实现此目的。在这种情况下,它将“像”任何其他第 3 方身份提供商(Facebook、Google 等)一样工作
例如——在这种情况下,您应该使用您自己的身份提供者公开的身份验证来配置您的应用,而不是“Google”——请参阅此文档页面:
http://docs.identityserver.io/en/latest/topics/signin_external_providers.html?highlight=external%20identity%20provider
您可能会遇到问题(至少 2017 年就是这种情况)——请参阅这个较早的问题 IdentityServer used as external identity provider for another IdentityServer fails to properly redirect
希望这能让您走上正确的道路。愉快的黑客攻击!
【讨论】:
谢谢 - 这确实帮助了一些人。我想这一切都归结为要在实例 A 中设置什么样的客户端以供实例 B 使用。您链接的问题似乎暗示了 HybridAndClientCredentials,但在他的故障排除过程中,他改变了它。我想我得到处玩了以上是关于如何将 IdentityServer4 设置为外部身份提供者的主要内容,如果未能解决你的问题,请参考以下文章
将外部登录令牌从 Identity Server 流向客户端应用程序