【发布时间】:2017-12-31 14:10:45
【问题描述】:
我有多个前端 Web 应用程序以及一个 IdentityServer4(微服务)应用程序,它们都在 .net Core MVC 上运行。一个给定的用户可能在 App1 和 App2 上都有多个帐户。一旦用户登录,他们就会选择他们正在访问的帐户。如果用户在 App1 上登录并选择他们的帐户,他们也应该能够登录到 App2 并选择一个帐户,而不会丢失他们在 App1 上的身份。当返回 App1 时,他们之前选择的身份应该仍然存在(不需要重新登录)。此外,如果用户在 App1 上完成了整个登录过程,如果他们在没有 App2 身份的情况下点击了 App2,他们应该不必输入初始凭据,直接进入帐户选择。
我遇到的问题是,一旦我尝试在 App2 上登录用户,他们就会完全失去他们的 App1 身份。
我尝试过的事情:
我为两个站点设置了单独的范围,并且可以管理哪个站点获取哪些信息,这很好,但它并不能解决整体问题。
我尝试为站点设置单独的 AuthenticationSchemes,但到目前为止,这无济于事,通常会导致完全无用的“server_error”消息(没有堆栈跟踪,日志中没有任何内容)。
有谁知道如何做到这一点?
【问题讨论】:
标签: asp.net-core-mvc identityserver4