2012-04-25 74 views
5

我正在建设一个网站(PHP),API(PHP)和本机iPhone应用程序。我希望用户使用他们的Facebook帐户登录,以便他们可以通过网站或iPhone应用程序发布评论/上传照片到我们的服务器/数据库。这也为我节省时间来创建一个完整的用户注册系统。网站,API和iPhone应用程序让用户通过Facebook登录

我想弄清楚如何为这种解决方案创建一个统一的体系结构。我在考虑以后的事:

报名:

  • 创建一个包含我的用户数据库表(表有以下字段:ID,facebook_uid,名字,姓氏)
  • iPhone应用程序登录场景:用户通过Facebook登录;按下允许为我的应用程序授予权限;通过access_token(存储在手机上)返回到应用程序。之后,调用我自己的API来向这些用户注册用户(如果尚未在数据库中注册):facebook_uid,firstname和lastname。
  • 网站登录场景:用户通过Facebook登录;重定向到我的配置返回URL和(在数据库中,如果还没有),注册用户使用这些值facebook_uid,名字和姓氏

发布产品的意见

  • iPhone应用程序:进行通话通过以下参数输入到我的API:review_text,facebook access_token。然后,我的API将使服务器端的Facebook调用获得facebook_uid。当我已经检索到facebook_uid时,我将这个facebook用户的评论记录插入到数据库中。 (而不是发送Facecbook access_token我可以直接发送facebook_uid值到我的API,但我认为这可能不太安全,因为任何人都可以插入评论其他用户的行为,如果他们知道他们的facebook_uid)

  • 网站:借助Facebook Connect PHP库FB登录会话可用,所以我可以通过阅读会话facebook_uid直接插入服务器端的审查。

这是一个正确和安全的方式使用Facebook登录为自己的平台?或者有没有其他的PHP模块/库可以用来简化这个?

回答

0

Facebook已经在这里现有的API http://developers.facebook.com/docs/guides/web/

该页面还包含如何实现这个

对于iPhone专用的Facebook登录,请看看这里 https://developers.facebook.com/docs/mobile/ios/build/#implementsso

+0

我知道Facebook API和库(我在PHP应用程序和iPhone应用程序中使用)。这里的东西是我建立我自己的API来公开存储在我的数据库中的我自己的实体/产品。我自己的API提供了诸如编写产品评论或将产品照片上传到我们的服务器等功能。因此我需要验证Facebook用户。 – 2012-04-25 10:24:55

+0

哦,我明白了。这不应该是一个问题。登录API将登录用户。从那里你应该能够通过用户名等你的API。 Facebook api处理登录问题。这就是你的问题所问的问题吗? – Jamesp1989 2012-04-25 10:28:08

+0

是的,所以最主要的是这是一个安全的方式;将Facebook ACCESS_TOKEN通过HTTPS传递给我自己的API,以将新用户添加到我的用户数据库表中。当通过我自己的API发布评论或上传照片时,再次传递ACCESS_TOKEN,以便我自己的API可以解析它自己的facebook_uid。 – 2012-04-25 10:33:50

0

我在一个类似的教程场景。在手机上保存access_token似乎是一个好主意,然后通过API传递以验证用户在自己的数据库上似乎也是一个好主意。

加密access_token并将其存储在您自己的数据库中并检查这些数据并不是一样安全,而不是持续ping Facebook API,:

  1. 通过Facebook登录,获取Facebook的UID和access_token。
  2. 将通过md5/sha加密的UID和/或access_token存储在数据库中。
  3. 每次您的API发出呼叫时,都要传递access_token并将其与存储的呼叫进行核对以验证呼叫?
相关问题