繁体   English   中英

Laravel,如何在2个网站之间链接Facebook登录?

[英]Laravel, how to link facebook login between 2 website?

目前,我正在使用laravel社交网站在Facebook和我的第一个网站之间建立链接。 我有2个已经发布的网站,可以说first_web.com和second_web.com。

我要尝试做的是,在用户登录(使用facebook acc)登录first_web.com之后,在用户希望访问second_web.com的任何时候,他都会自动使用facebook acc登录。

我进行了研究,但是没有教程或样本可以完成此操作。 任何想法如何实现这一目标?

在我看来,可以这样解决:(但我必须警告说,就我个人而言,我不喜欢在一个身份验证呼叫中登录多个网站的方式,并且有一种更好的方法可以实现此目的根据需要-当您重定向到他们的网站并选择您的google帐户时,使用类似于Google的“调用授权”方式-每个调用一个重定向):

  1. 首先,您必须了解必须在两个客户端浏览器中保存令牌-在两个网站上,都无法在多个网站之间共享相同的JWTCookie-这是不安全,不安全且不合逻辑的,因此您需要创建两个令牌。 (我不是在谈论一个域网站,而是在谈论不同域上的不同网站)

  2. 您可以使用JSON Web令牌JWT方法。 对于您的项目,可以根据安装教程使用Laravel Passporttymondesigns / jwt-auth

  3. 成功调用社交名流API之后-您必须创建JWT令牌(使用#1点的软件包)并将其存储在 第一个网站 的客户端浏览器中-Cookie或JavaScript本地存储-选择适合自己的方法满足您的需求。 (您将在搜索中找到大量示例)。

  4. 然后从第一个网站进行AJAX调用(从您正在使用的JavaScript客户端框架中)到具有给定凭据的api-您将被重定向,选择您的社交帐户等

  5. 现在,我将在模式窗口中提出一些问题-“您是否要将数据共享到我们的网站#2”,并且在这里通过重定向再次调用了socialite API。 由于大多数社交名流提供者的内部安全性,因此无法禁止使用多重重定向到您的社交网站。

  6. 在您的api之后重定向到第二个网站,并将第二个令牌保存到第二个网站客户端浏览器中。

  7. 将您重定向到您的第一个呼叫者网站。

我的个人建议-无论如何都不要这样做。 在您的网站中进行差异身份验证并不是问题。 使用您所质疑的方式更加不安全。

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM