我正处于考虑将社交登录方法集成到我的网站的阶段。当然,我的第一个将是 facebook登录,然后继续前进。
基本上我的问题是:哪种语言最适合这种类型的OAuth连接,哪种语言可以让我做我想做的一切?
这将最终涵盖所有OAuth连接,但现在特别是Facebook。
根据我阅读的文档,JavaScript SDK允许您登录,并连接到开放图形API - 这反过来将允许我发布/上传等等。这也可以在PHP中使用。
从经验来看,这是更持久的路线吗?
PHP或JAVASCRIPT
答案 0 :(得分:2)
授权用户的最佳和推荐方法是JavaScript SDK(FB.login)。 不需要重定向(更好的可用性),非常容易处理,不需要PHP(新的PHP SDK需要PHP 5.4 +)。仅将PHP用于涉及使用App Secret或扩展访问令牌的内容。显然,对于cron工作。您甚至可以忘记PHP SDK并使用自己的CURL调用。
顺便说一下,安全性没问题,您只需在应用设置中激活“appsecret_proof
”。
有关appsecret_proof
的更多信息:
另一个原因(以及其中一个最重要的原因)是使用FB.getLoginStatus轻松刷新访问令牌(=用户会话)而无需刷新页面。
另一个原因是您需要自己升级到新的PHP SDK版本。 JavaScript SDK不需要任何升级,在几年内您只需更改一个或两个参数,SDK就会从Facebook服务器上下载。
此外,如果您添加社交插件,则无论如何都需要JavaScript SDK。
答案 1 :(得分:0)
TL; DR PHP / both
我真的推荐PHP。您将要将登录信息存储在数据库中。如果你是通过JS完成的,那么你需要对服务器进行Ajax调用,这实际上并不安全。
话虽如此,他们的目标是不同的用途。 JS用于前端,而PHP用于后端(数据库存储,检查,实际站点登录等)。使用JS可以让你动态生成按钮,使用PHP时你需要做更多的编码。
其他方面,php库会不时更新,您需要在测试后跟上。 JS也是,但它更容易,因为代码通常有用。
如果您只想要一个,请使用PHP。您可以控制代码的作用,JS不会破坏您的网站,因为它是您编写的。但是,我建议您同时使用这两种方法,因为您可能不仅需要简单的登录
编辑: 正如Facebook所述,使用PHP SDK:通常这意味着您正在使用PHP开发Facebook Canvas应用程序,构建自己的网站,或添加服务器端功能到已经使用Facebook SDK for JavaScript的应用程序。
答案 2 :(得分:0)
最好的途径是同时使用两者。有些用户可能禁用了javascript,或者您可能在javascript代码中执行了某些浏览器无法使用的操作。所以作为一个后备方法,你可以使用php api。
只使用php是可靠的,无论用户客户端是什么都可以使用,但是你可以通过javascript改善用户体验。
但是,在大多数情况下,你最终都不得不同时使用它们。
答案 3 :(得分:0)
我在下午玩了 facebook 的JavaScript SDK,我不得不承认我认为这将是我需要的的最佳选择。
如果有人正在读这篇文章,那对你来说可能并不完美 - 但是我的应用程序的构建方式我觉得它非常合适。 原因如下:
我的标准登录系统使用 JavaScript 来获取表单数据,然后验证,然后通过 AJAX 将验证的数据传递给 PHP 验证脚本。这反过来又会返回 JSON 对原始 AJAX 调用的响应。如果我的电话回复"ok" : true
,那么我们基本上是好的。
facebook JavaScript SDK 的工作方式几乎是一个完美的小拼图,可以固定在我正在使用的系统上。我需要的只是一些配置文件数据,然后在我的系统上保留该用户的记录。这是由facebook提供的,然后由我自己验证。
然而,其他社交网络登录可能不如facebook API那么好用,所以我最终可能会改变整个系统的想法。 现在只使用脸谱,我认为JavaScript SDK绝对是现货,因为它只是获取您在网站上运行自己的验证的信息。 正如我所说这对我的系统非常合适但是它可能不适合你。