【问题标题】:IdentityServer4 with multiple clients具有多个客户端的 IdentityServer4
【发布时间】:2017-12-31 14:10:45
【问题描述】:

我有多个前端 Web 应用程序以及一个 IdentityServer4(微服务)应用程序,它们都在 .net Core MVC 上运行。一个给定的用户可能在 App1 和 App2 上都有多个帐户。一旦用户登录,他们就会选择他们正在访问的帐户。如果用户在 App1 上登录并选择他们的帐户,他们也应该能够登录到 App2 并选择一个帐户,而不会丢失他们在 App1 上的身份。当返回 App1 时,他们之前选择的身份应该仍然存在(不需要重新登录)。此外,如果用户在 App1 上完成了整个登录过程,如果他们在没有 App2 身份的情况下点击了 App2,他们应该不必输入初始凭据,直接进入帐户选择。

我遇到的问题是,一旦我尝试在 App2 上登录用户,他们就会完全失去他们的 App1 身份。

我尝试过的事情:

  1. 我为两个站点设置了单独的范围,并且可以管理哪个站点获取哪些信息,这很好,但它并不能解决整体问题。

  2. 我尝试为站点设置单独的 AuthenticationSchemes,但到目前为止,这无济于事,通常会导致完全无用的“server_error”消息(没有堆栈跟踪,日志中没有任何内容)。

有谁知道如何做到这一点?

【问题讨论】:

    标签: asp.net-core-mvc identityserver4


    【解决方案1】:

    身份服务器 4 是单点登录。一旦用户登录 App1,如果他们从 App1 中点击 App2,他们就不必再次登录。但是每个客户端都必须对自己进行身份验证。因此,您将对其进行身份验证,中间件将自动执行此操作(您必须配置客户端),并确保您不在不同客户端之间共享 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多