Laravel - 使用单一登录服务器的多域?

时间:2016-10-11 11:44:47

标签: php laravel laravel-5 laravel-5.3

我目前正在设置大约4个基于Laravel 5.3的应用,它们都是一个生态系统的一部分"。

我计划使用一个中央Laravel应用,它可以处理任何用户注册,用户登录并保存所有用户详细信息。这些详细信息将用于4个单独的Laravel Web应用程序。我也可能在将来在移动应用程序中使用这些用户详细信息,因此我假设我需要某种基于JWT的系统来控制它。

我已经考虑过使用Laravel Passport来实现这一目标,但我认为这不适合这种情况。老实说,我不清楚文档是否是为其设计的系统,或者我是否需要使用不同的oAuth2系统。我的理解是它仅用于API身份验证,还是我错了?

我所有其他Laravel应用程序都将在不同的服务器上,所以我不能分享数据库。我需要实现一个跨域解决方案。

提前感谢您提供有关此问题的任何信息,只是为了澄清我要求您为我编写脚本代码,只是为了帮助我指出正确的方向如何正确地执行此操作 - 无法真正展示我不知道的事情的代码!

我相信我已经解释了我想在这里实现的所有,而且我已经做过研究,但似乎没有任何东西点击我的大脑。

1 个答案:

答案 0 :(得分:2)

我认为这取决于您的业务逻辑。以下是我的想法:

  1. 如果您的意思是Multi Domains是子域(正如您提到的login.site.com),我认为最简单的方法是使用site.com宽cookie和redis / memcached作为会话存储溶液
  2. 如果他们确实有不同的域名,并且在中心站点之外,用户在访问站点A时也想要站点B功能(或内容,那些站点紧密连接),我认为JWT解决方案是更好的选择。
  3. 任何其他情况,请选择OAuth
  4. 好吧,也许其他人有更好的想法。