Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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
Facebook登录-JavaScript或PHP SDK_Javascript_Php_Facebook_Facebook Graph Api_Oauth - Fatal编程技术网

Facebook登录-JavaScript或PHP SDK

Facebook登录-JavaScript或PHP SDK,javascript,php,facebook,facebook-graph-api,oauth,Javascript,Php,Facebook,Facebook Graph Api,Oauth,我正在考虑将社交登录方法集成到我的网站中。当然,在继续之前,我的第一次登录将是facebook登录 基本上我的问题是:哪种语言最适合这种类型的OAuth连接,哪种语言可以让我做我想做的一切? 这最终将包括所有OAuth连接,但目前特别是Facebook 从我阅读的文档来看,JavaScript SDK允许您登录并连接到open graph API,这反过来又允许我发布/上传等。这在PHP中也可用 根据经验,哪条路线更持久? PHP或JAVASCRIPTTL;博士/两者 我真的很推荐PHP。您需要

我正在考虑将社交登录方法集成到我的网站中。当然,在继续之前,我的第一次登录将是facebook登录

基本上我的问题是:哪种语言最适合这种类型的OAuth连接,哪种语言可以让我做我想做的一切?

这最终将包括所有OAuth连接,但目前特别是Facebook

从我阅读的文档来看,JavaScript SDK允许您登录并连接到open graph API,这反过来又允许我发布/上传等。这在PHP中也可用

根据经验,哪条路线更持久?

PHP或JAVASCRIPTTL;博士/两者

我真的很推荐PHP。您需要将登录名存储在数据库中。如果您是通过JS来实现的,那么您需要对服务器进行Ajax调用,这实际上并不安全

话虽如此,它们有不同的用途。JS用于前端,而PHP用于后端(数据库存储、检查、实际站点登录等)。使用JS可以让您动态生成按钮,而使用PHP则需要进行更多的编码

除此之外,php库将不时更新,您需要在测试后保持更新。JS也是,但它更简单,因为代码通常是有效的

如果您只需要一个,请使用PHP。您可以控制代码的功能,JS不会破坏您的站点,因为它是由您编写的。不过,我建议您同时使用这两种方法,因为您可能需要的不仅仅是简单的登录

编辑: 正如facebook所说,使用PHP SDK:通常这意味着您正在为facebook画布应用程序使用PHP进行开发,构建自己的网站,或者向已经使用facebook SDK for JavaScript的应用程序添加服务器端功能


最好的办法是两者同时使用。某些用户可能禁用了javascript,或者您可能在javascript代码中执行了某些在某些浏览器上无法工作的操作。因此,作为一种后备方法,您可以使用PHPAPI

只使用php将是可靠的,无论用户客户端是什么,都可以工作,但使用javascript可以改善用户体验


尽管如此,在大多数情况下,您最终将不得不同时使用这两种方法。

授权用户的最佳推荐方法是JavaScript SDK()无需重定向(更好的可用性),非常易于处理,无需PHP(新的PHP SDK需要PHP 5.4+)。仅对涉及使用应用程序机密或扩展访问令牌的内容使用PHP。显然,对于cron工作也是如此。您甚至可以忘记PHPSDK,使用自己的CURL调用

顺便说一句,安全性没有问题,您只需在应用程序设置中激活“
appsecret\u proof

有关
appsecret\u-proof
的更多信息:

另一个原因(也是最重要的原因之一)是可以通过使用来轻松刷新访问令牌(=用户会话),而无需页面刷新

另一个原因是您需要自己升级到新的PHPSDK版本。JavaScript SDK不需要任何升级,在最近几年中,您只需更改一两个参数。在某些情况下,SDK可以从Facebook服务器下载


另外,如果你添加社交插件,你无论如何都需要JavaScript SDK。

我刚刚花了一下午的时间玩了facebook的JavaScript SDK,我必须承认这将是我所需要的最好的选择

如果其他人正在阅读本文,它可能并不适合您,但以我的应用程序的构建方式,我认为它非常适合您原因如下:

我的标准登录系统使用JavaScript获取表单数据,然后进行验证,然后通过AJAX将验证后的数据传递给PHP验证脚本。这反过来会返回对原始AJAX调用的JSON响应。如果我的电话回复为
“ok”:true
,那么我们基本上可以出发了

facebook JavaScript SDK的工作方式几乎是一个完美的拼图游戏,可以栓在我正在使用的系统上。我所需要的只是一点个人资料数据,然后在我的系统上保存这个用户的记录。这是facebook提供的,然后由我自己验证


然而,其他社交网络登录可能没有facebook API那么好用和简单,因此我最终可能会改变对整个系统的看法就目前而言,仅使用facebook,我认为JavaScript SDK是绝对合适的,因为它只是获取信息,供您在站点上通过自己的验证运行正如我所说的这非常适合我的系统
,但可能不适合你的系统。

所以你建议构建我自己的PHP/JavaScript混合版?因此,按钮的工作原理与JavaScript版本相同,但我正在使用PHP SDK并提供自己的回调?这在很大程度上取决于您想要做什么。如果您只需要登录,请选择PHPSDK。如果你想要更多,可以同时使用这两种工具。如果你不想获得特定的用户体验,那么使用PHPSDK你不必对JS做任何事情。您可以这样做:1)生成登录按钮。2) 单击后,页面重定向到facebook 3)登录后,重定向回您的站点,并在$_GET中使用参数,4)SDK将读取并告诉您。5) 如果您只需要登录,PHP SDK是一个非常糟糕的主意。使用JSSDK要容易得多(推荐)。我想做的是:用户点击按钮=>我的JavaScript将检测按钮是否被按下=>使用我自己的AJAX向我的PHP代码发送调用=>PHP将处理身份验证和保存详细信息