2015-02-06 41 views
0

我正在尝试构建一个仅向允许的用户显示信息的网页,并允许这些用户修改该信息。我想使用Facebook来认证允许的用户。我会将这些用户的Facebook ID存储在数据库中,并检查登录的用户ID与存储的用户ID,以确定此人是否可以访问该信息。我需要Facebook PHP SDK吗?

使用Facebook JavaScript SDK我可以登录用户并在客户端获取他的ID。但我不确定我应该从那里出发。

我相信我需要使用PHP SDK来做我所描述的。我对吗?或者有没有一种方法可以仅使用我不知道的JavaScript SDK?

回答

0

您可以使用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个小时)

我会解释这一个比特

  1. 客户端将访问令牌发送到服务器
  2. 服务器将验证这一点令牌。例如:

    \GET https://graph.facebook.com/debug_token?input_token={token-to-inspect}&access_token={app-token} 
    

    您可以使用简单的curl REQ或file_get_contents(),使这个要求

    Reference

  3. 如果它是一个有效的,得到的响应user_id,并发送相应的数据。
  4. 如果令牌失败,您可能会向您的应用程序发送身份验证错误。

由于令牌一段时间后到期,没有人可以滥用令牌!

+0

谢谢你的回答。我的意思是我只会用JS来做。我能想到的方式是使用API​​获取用户标识,使用JS将其发送到服务器,如果该标识对应于允许的用户,则服务器将数据发回。但是这不是不安全吗?任何知道允许ID的人都可以绕过Facebook登录,并将该ID发送到服务器并获取数据,对吧? – 2015-02-06 09:07:20

+0

检查编辑! – 2015-02-06 12:07:12

+0

我认为这正是我想要的。谢谢! – 2015-02-06 14:23:33