Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 使用OpenID Connect在多个实例之间共享经过身份验证的会话_Authentication_Session_Openid Connect - Fatal编程技术网

Authentication 使用OpenID Connect在多个实例之间共享经过身份验证的会话

Authentication 使用OpenID Connect在多个实例之间共享经过身份验证的会话,authentication,session,openid-connect,Authentication,Session,Openid Connect,我有一个应用程序,它被扩展(部署)到两个独立的服务器中。 我在这两台服务器前面有一个负载平衡器(使用循环)。但是,我现在无法访问此负载平衡器来设置或配置任何内容。(假设它是抽象的,并且一直如此) 现在,我已经在运行我的应用程序的两台服务器上安装了“Apache+OpenID Connect”。因此,web服务器设置也已完成,其背后还有应用程序服务器设置。现在一切正常 我的场景是,假设浏览器请求B1到达负载平衡器并到达其后面的服务器S1。请求被重定向到SSO身份提供程序,在那里成功地进行身份验证,

我有一个应用程序,它被扩展(部署)到两个独立的服务器中。 我在这两台服务器前面有一个负载平衡器(使用循环)。但是,我现在无法访问此负载平衡器来设置或配置任何内容。(假设它是抽象的,并且一直如此)

现在,我已经在运行我的应用程序的两台服务器上安装了“Apache+OpenID Connect”。因此,web服务器设置也已完成,其背后还有应用程序服务器设置。现在一切正常

我的场景是,假设浏览器请求B1到达负载平衡器并到达其后面的服务器S1。请求被重定向到SSO身份提供程序,在那里成功地进行身份验证,并返回S1以服务此处保护的资源(当负载平衡器后面的服务器S2未运行时)

我的问题是-如何确保即使服务器S2已启动并与S1一起运行,S2也能理解成功的身份验证(尽管最初的身份验证重定向是由S1完成的)? i、 e:无论谁进行身份验证(S1或S2),一个成功的身份验证周期都应为驻留在两台服务器中的相同受保护资源提供服务


谢谢。

这与openid connect无关,主要是关于如何管理会话或登录状态。您在服务器端有会话吗?您是将身份验证令牌存储在cookie还是本地存储中?只要两个后端服务器都可以访问公共信息来验证会话(公共会话数据库,或验证客户端令牌的公共密钥,或其他),就应该可以了。@Joe Apache的openidconnect插件的实现和配置在这里非常重要。如果集群配置为会话复制,它可能会退回到OIDC来确定它是否可以在第二个节点上建立用户的会话。您的问题并不简单,需要非常具体的Apache知识及其OIDC实现才能提供可靠的答案。您可能没有收到一个。