我正在构建一个网站 (PHP)、API (PHP) 和一个原生 iPhone 应用程序。我希望用户使用他们的 Facebook 帐户登录,以便他们可以通过网站或 iPhone 应用程序发布评论/上传照片到我们的服务器/数据库。这也将节省我创建完整用户注册系统的时间。
我试图弄清楚如何为这种解决方案创建一个统一的架构。我正在考虑以下事情:
登记:
- 创建一个包含我的用户的数据库表(表将包含以下字段:id、facebook_uid、firstname、lastname)
- iPhone App登录场景:用户通过Facebook登录;按下允许允许我的应用程序;使用 access_token(存储在他的手机上)返回 App。之后调用我自己的 API 以使用以下信息注册用户(如果尚未在数据库中注册):facebook_uid、名字和姓氏。
- 网站登录场景:用户通过Facebook登录;重定向到我配置的返回 url 并使用这些值 facebook_uid、firstname 和 lastname 注册用户(如果尚未在数据库中)
发布产品评论
Iphone App:使用以下参数输入调用我的 API:review_text、facebook access_token。然后,我的 API 将使服务器端 API 调用 facebook 以获取 facebook_uid。当我检索到 facebook_uid 时,我将这个 facebook 用户的评论记录插入到数据库中。(除了发送 Facecbook access_token 之外,我还可以直接将 facebook_uid 值发送到我的 API。但我认为这可能不太安全,因为如果知道他们的 facebook_uid,任何人都可以插入对其他用户行为的评论)
网站:借助 Facebook Connect PHP 库 FB 登录会话可用,因此我可以通过阅读会话 facebook_uid 直接插入服务器端评论。
这是使用 Facebook 作为您自己平台的登录名的正确且安全的方式吗?或者是否有任何其他 PHP 模块/库我可以用来简化这个?