Php 如何实现单点登录?

Php 如何实现单点登录?,php,magento,single-sign-on,openerp,Php,Magento,Single Sign On,Openerp,我是单点登录的新手。我的系统有三个不同的实例和不同的应用程序1.openerp2.magner 3.Php网站,在所有应用程序中,我的用户和密码都是相同的。我对该从哪里开始感到困惑。 我可以使用OAuth吗?或者哪种方法是实现单点登录的最简单方法 我还可以使用LDAP,这是必需的。假设您有一个用于所有这些的公共数据库,您可以通过编写一些API来实现这一点 并使用一种标记化方法。这意味着当用户输入有效凭据时,您将为该用户创建一个令牌并将其存储在db中,然后返回与响应相同的令牌 使用相同的令牌将其设

我是单点登录的新手。我的系统有三个不同的实例和不同的应用程序1.openerp2.magner 3.Php网站,在所有应用程序中,我的用户和密码都是相同的。我对该从哪里开始感到困惑。 我可以使用OAuth吗?或者哪种方法是实现单点登录的最简单方法
我还可以使用LDAP,这是必需的。

假设您有一个用于所有这些的公共数据库,您可以通过编写一些API来实现这一点

并使用一种标记化方法。这意味着当用户输入有效凭据时,您将为该用户创建一个令牌并将其存储在db中,然后返回与响应相同的令牌


使用相同的令牌将其设置为浏览器会话或cookie,现在跨不同的应用程序,即1.Openerp 2.magnet 3.Php网站读取上述cookie/session,如果已设置,请登录。

您可以创建一个全局变量来读取cookie或会话变量。如果您想手动实现单点登录,这可能会很有用。另一方面,您可以使用OpenID,您应该研究一下,在查看您的场景之后,使用oauth实现单点登录的最简单方法可能会很有用

单点登录(SSO)是一种在多个相关但独立的软件系统上对用户进行身份验证的方法。登录后,用户可以从一个系统切换到下一个系统,而无需再次登录。相反,单次注销是通过单次注销操作注销和终止对多个软件系统的访问的一种方式

有关单一登录的更多信息,请参阅此链接

要在openerp上应用此机制,请参见此链接

如果你是技术人员,你也可以看看这个模块


如果会话位于同一个域上,那么如何操纵会话,使其具有几个通用标识符?我有不同的数据库。对于openerp postgres,对于magento和php,mysql和实例是ubuntue,即使您可以通过设置此用户令牌来实现。所以我需要编写api的目的是什么。只是为了在所有应用中发送令牌?我如何在会话中存储令牌?如果我不在同一个页面,请纠正我API是我使用的一个通用术语这只是一个让你登录的PHP代码,但同时它设置了一个cookie或会话。现在,一旦它在浏览器中设置好,您就可以使用它在其他环境中阅读了。我将尝试这种方法,如果遇到任何问题,我会回复您:)谢谢,使用cookie安全吗?如何使用会话。我应该在哪个应用程序上编写代码。我看过一些openid的网站。但我不清楚如何在现实中实现这一点,也忘了提到我有ubuntu实例。