首页 > 解决方案 > 在应用程序之间切换时,即使访问令牌/ID 令牌有效,IdentityServer 4 也会导航到登录屏幕。有什么见解吗?

问题描述

我们面临的问题是 Identity Server 4 在应用程序之间切换时经常(每天 2-3 次)将我们扔到登录屏幕(隐式流程 - Angular)。IDSrv 日志记录中没有引发任何问题/事件。

例子:

使用客户端名称说“First_Client”登录到应用程序 1,

另一个应用程序 2 使用相同的客户端“First_Client”。

应用程序 2 应该自动登录并且不需要重新输入凭据,但 10 次中有 3 次失败并静默导航到登录屏幕而不引发任何日志事件

早些时候我们很少面对它,但现在它太频繁了。快速帮助将不胜感激

IDsrv 配置设置有什么问题吗?我的意思是 Cookie 设置、身份验证设置等。

注意:在我的例子中,Identity Server 部署在两台服务器上以实现负载平衡。

下面是配置:

Startup.cs => 配置服务() 在此处输入图像描述

Startup.cs => 配置()

在此处输入图像描述

标签: .net-coreidentityserver4

解决方案


当您拥有同一服务的多个副本时,您需要确保所有这些 cookie 都可以接受。默认情况下,来自一项服务的 cookie 在另一项服务中无效。

默认情况下,会话 cookie 包含您的访问令牌。

您需要将数据保护 API 配置为在应该接受相同 cookie 的服务中使用共享私钥。

有关详细信息,请参阅此链接:


推荐阅读