如何检查用户是否在2个不同的网络应用上进行了身份验证?

时间:2017-03-30 11:30:25

标签: php python mysql cookies web-applications

我一直在互联网上寻找,但我在网上找不到与我的具体案例相关的任何内容。

假设有2个Web应用程序。 wa1wa2wa1是用PHP编写的,位于domain1.comwa2是用Python编写的,位于domain2.com。有一个公共数据库user_info存储用户信息(如用户名和密码),另一个数据库user_logged_in列出用户及其会话。

用户将通过wa1进行身份验证。如果我无法使用远程MySQL访问wa2数据库,如何检查用户是否在user_logged_in中进行了身份验证?是否可以设置Cookie,以便domain2.com上的网站可以读取domain1.com设置的Cookie?

1 个答案:

答案 0 :(得分:0)

如果我做对了,我相信你需要一个单点登录解决方案。

我建议您查看OpenID Connect规范。

在这种情况下,您需要添加第三个“app”,它将负责向经过身份验证的用户(某种Identity Server)发出令牌。所有与用户相关的信息都将由此服务存储和管理。

应用程序本身将依赖令牌来检查是否有有效用户,并且他们可以从Identity Server获取用户信息。

一个很好的选择是IdentityServer,它是开源的:https://identityserver.github.io/Documentation/

他们的文件非常好,会给你一个更深入的解释。

希望它有所帮助。