我需要Facebook PHP SDK吗?
问题描述:
我正在尝试构建一个仅向允许的用户显示信息的网页,并允许这些用户修改该信息。我想使用Facebook来认证允许的用户。我会将这些用户的Facebook ID存储在数据库中,并检查登录的用户ID与存储的用户ID,以确定此人是否可以访问该信息。我需要Facebook PHP SDK吗?
使用Facebook JavaScript SDK我可以登录用户并在客户端获取他的ID。但我不确定我应该从那里出发。
我相信我需要使用PHP SDK来做我所描述的。我对吗?或者有没有一种方法可以仅使用我不知道的JavaScript SDK?
答
您可以使用PHP SDK或的Javascript SDK或没有SDK或任意组合!
它是灵活的,它是你如何编码。
但是由于您使用的是JS SDK进行登录,如果您希望只使用JS SDK来处理应用程序的所有功能,
有没有办法只使用JavaScript SDK,我不知道?
你究竟是什么意思?就像你用JS SDK使用FB.login()
登录,就可以调用其他API(Graph APIs)像 -
FB.api("/me")
FB.api("/me/feed")
FB.api("/me/accounts")
等等,等等
你可以通过这个 - Facebook SDK for Javascript
编辑
为了使请求安全,以便没有人滥用您的API和d获取用户数据,您可以发送客户端访问令牌而不是facebook id。此访问令牌是临时性质的(有效期只有2个小时)
我会解释这一个比特
- 客户端将访问令牌发送到服务器
-
服务器将验证这一点令牌。例如:
\GET https://graph.facebook.com/debug_token?input_token={token-to-inspect}&access_token={app-token}
您可以使用简单的
curl
REQ或file_get_contents()
,使这个要求 - 如果它是一个有效的,得到的响应
user_id
,并发送相应的数据。 - 如果令牌失败,您可能会向您的应用程序发送身份验证错误。
由于令牌一段时间后到期,没有人可以滥用令牌!
谢谢你的回答。我的意思是我只会用JS来做。我能想到的方式是使用API获取用户标识,使用JS将其发送到服务器,如果该标识对应于允许的用户,则服务器将数据发回。但是这不是不安全吗?任何知道允许ID的人都可以绕过Facebook登录,并将该ID发送到服务器并获取数据,对吧? – 2015-02-06 09:07:20
检查编辑! – 2015-02-06 12:07:12
我认为这正是我想要的。谢谢! – 2015-02-06 14:23:33