Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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
Php 1个客户登录,用于2个具有单独登录身份验证和数据库的web应用程序,可能更多_Php_Authentication_Oauth_Single Sign On - Fatal编程技术网

Php 1个客户登录,用于2个具有单独登录身份验证和数据库的web应用程序,可能更多

Php 1个客户登录,用于2个具有单独登录身份验证和数据库的web应用程序,可能更多,php,authentication,oauth,single-sign-on,Php,Authentication,Oauth,Single Sign On,如何将两个独立的后端应用程序作为一个站点使用,每个应用程序处理不同的请求,最好将一个嵌入到另一个应用程序中,在用户登录后共享一个会话 目前有一个定制的网站/CMS应用程序(应用程序1),与带有登录表单和注册的博客没什么不同。它在内部使用oauth连接到单独应用程序上数据库的API。博客帖子在网站上是公开的,客户登录到主站点,可以上传帖子并查看他们的编辑进度,在帖子上线之前接收反馈等,管理员使用CMS访问客户提交的内容并管理帖子,包括根据需要代理用户进行更改 我现在有了另一个web应用程序(应用程

如何将两个独立的后端应用程序作为一个站点使用,每个应用程序处理不同的请求,最好将一个嵌入到另一个应用程序中,在用户登录后共享一个会话

目前有一个定制的网站/CMS应用程序(应用程序1),与带有登录表单和注册的博客没什么不同。它在内部使用oauth连接到单独应用程序上数据库的API。博客帖子在网站上是公开的,客户登录到主站点,可以上传帖子并查看他们的编辑进度,在帖子上线之前接收反馈等,管理员使用CMS访问客户提交的内容并管理帖子,包括根据需要代理用户进行更改

我现在有了另一个web应用程序(应用程序2)来替换原始CMS中的一些功能。它有自己的CMS和前端,登录,并在其数据库中存储用户

我需要一种方法来集成这两个应用程序,以便客户登录到应用程序1,当他们导航到他们的帖子创建/编辑时,他们可以无缝地使用应用程序2,无需额外登录,所有这些都使用原始应用程序用户auth。管理员可以访问这两个应用程序CMS,理想情况下也只需一次登录

我的第一个想法是我需要另一个应用程序/服务来管理身份验证,并充当其他服务页面的应用程序的网关

我看到了很多关于单点登录的内容,但似乎更多的是使用外部帐户访问我的网站“使用Facebook登录”

在这种情况下,什么样的基础架构模式和代码适用?所有应用程序都是基于PHP构建的,托管在Linux上。

单点登录(SSO)是您想要的,您已经走上了正确的道路。阅读诸如SAML或OpenID Connect之类的协议,选择一个您觉得合适并且在您的工具集中有支持的协议,实现一个小测试用例并从中开始。带有PHP的SAML有一个非常好的工具包:


有了SAML,您就有了一个身份提供者服务,可以通过登录表单、后端用户数据库和一个或多个服务提供者对用户进行身份验证。每个服务提供商都是一个享受SSO好处的应用程序。身份提供者可以作为一个独立的应用程序/服务实现,也可以嵌入到您的一个应用程序中,可能是应用程序1。应用程序2将成为服务提供商。假设您已经正确地实现了所有这些,您的用户将能够单击应用程序1中的一个链接,而无需重新验证即可登录到应用程序2中。

OK,这更清楚了,感谢您共享simpleSAMLphp