在多个不同的Laravel安装上使用相同的用户凭据?

在多个不同的Laravel安装上使用相同的用户凭据?,laravel,laravel-5,single-sign-on,Laravel,Laravel 5,Single Sign On,tl;dr:尝试在不同的其他应用上使用一个应用的用户凭据。尝试了一个解决方案,但我遇到了障碍,正在寻找更好的想法 -- 假设我有3个不同的Laravel5.4安装,让我们称它们为“App1”、“App2”和“App3”。这3个应用程序具有完全不同的功能,可以由相同的用户使用 目前,用户正在使用App1,他们的登录凭证和信息保存在App1的数据库中 App2与AppOne位于同一个专用网络上,因此,当我想让App1的用户能够使用其现有凭据登录App2时,我采用了以下方式: 使用App1的专用IP地

tl;dr:尝试在不同的其他应用上使用一个应用的用户凭据。尝试了一个解决方案,但我遇到了障碍,正在寻找更好的想法

--

假设我有3个不同的Laravel5.4安装,让我们称它们为“App1”、“App2”和“App3”。这3个应用程序具有完全不同的功能,可以由相同的用户使用

目前,用户正在使用App1,他们的登录凭证和信息保存在App1的数据库中

App2与AppOne位于同一个专用网络上,因此,当我想让App1的用户能够使用其现有凭据登录App2时,我采用了以下方式:

  • 使用App1的专用IP地址在App2中创建了指向App1数据库的数据库连接
  • 在App2和bam的用户模型上使用了这个新连接,它工作了
  • 但是现在我想用App3提供同样的可能性,但是它不在同一个网络中,我开始看到我的实际解决方案的缺点

    我当然可以打开App1到App3特定IP地址的数据库连接,并保持当前的设置,但我觉得它越来越混乱,我想这可能是一个安全风险(我对这方面的知识还不够了解,无法真正了解)


    然后我在想:API?也许是护照?这真的是我应该考虑的道路吗?如果是这样的话,那么实现它的简单方法是什么?

    您可能想研究一种SAML解决方案,它允许您在多个应用程序和域之间共享凭据


    您可以使用这个或使用香草

    最简单的方法是将App1的数据库打开给App3,并使用相同的数据库进行身份验证。现在,我假设您出于某些安全原因不这样做,而我的系统管理知识不足以帮助您做到这一点。但这正是我在我的一个项目中所做的,而且效果很好。澄清“开放数据库”。我的意思是通过向外部网络开放或对App3的IP设置例外,使其对App3的服务器可用。@devk是的,这就是我对App1和App2所做的。这些应用程序位于同一个专用网络中,因此我认为这样的安全风险较小,但由于App1和App3必须通过互联网进行通信,我只是不确定,就像你一样,我的系统管理知识在这方面缺乏;-)