两个IdentityServer4之间的集成(aspnet身份)

时间:2019-03-18 12:23:23

标签: asp.net-identity single-sign-on identityserver4 claims-based-identity asp.net-core-2.1

我正在尝试将IdentityServer4( A )与另一个IdentityServer4( B )实现进行集成。这两个目前彼此独立工作。

我已经在此方面取得了一些进展,但是我感到我没有以正确的方式来做。 IdentityServer(A)

  • 添加了新客户端(AllowedGrantTypes = GrantTypes.Implicit,

IdentityServer(B)

  • 添加了新的身份验证源 AddOpenIdConnect
BottomNavigationBar

当前结果是在 B

上使用了外部登录机制之后
  • 正在按预期在 B
  • 上创建帐户
  • 用户已在 A
  • 上注销
  • B aspneUser表未填充 A
  • 中的用户数据
  • B 用用户数据填充用户声明表。

在此阶段,我需要一种方法或最佳实践来实现这一目标:

  1. 在不存在的情况下,从A到B以及B到A创建帐户。
  2. 合并源中创建的帐户,或者只是一种链接ID的方式
  3. 无论身份验证来源如何,都可以访问Identity Server客户端。
  4. 关联角色或任何声明以标识登录源。
  5. 更新用户信息并重置密码

2 个答案:

答案 0 :(得分:0)

您要实现的目标称为联合身份验证网关。

什么是联合网关,为什么需要它? http://docs.identityserver.io/en/latest/topics/federation_gateway.html

如何实现联合网关? http://docs.identityserver.io/en/latest/quickstarts/4_external_authentication.html

答案 1 :(得分:0)

联合身份验证网关文档解决的问题 http://docs.identityserver.io/en/latest/quickstarts/4_external_authentication.html

使用4_ImplicitFlowAuthenticationWithExternal快速入门来识别并解决问题。

External Authentication QuickStart