我在一家拥有5个iOS和5个Android应用套件的公司工作。他们都与我们构建的通用API交谈。我们支持传统的电子邮件/密码帐户创建和登录,但我们也支持Facebook并行登录。鉴于即将发生的Graph API v2.0更改,我认为现在是审核我们实施Facebook登录以使其达到最新标准的好时机。
我在Facebook开发者门户网站上找不到的内容是对我们在特定情况下应该做些什么的高级概述:
这是我们当前实施FB登录的简要演练:
/me
以获取用户的图形ID,名称和电子邮件
我们应该做什么?我们是否应该费心存储FB令牌?
答案 0 :(得分:0)
我没有在服务器上检查用户的电子邮件,而是选择用户ID (为什么让2-3%的用户离开您的应用只是因为我们无法抓取他们的电子邮件IDS)。
但无论如何在图片中v2,我们不能获取用户的原始ID;返回的ids现在是app-scoped!
现在回答你的问题。
您应该在数据库中保存这些 app scoped ids (可能是一对多的映射)。而且,由于您只是注册了具有电子邮件ID的用户,因此根本不会成为问题。
好处?您可以随时轻松访问其个人资料数据/<id>?access_token=<app-access-token>
保存用户访问令牌对我没有任何意义,因为它会在大约2小时后到期。虽然您可以extend the validity用户访问令牌,但您可以随时在客户端本身获取新令牌。所以只有在服务器上做一些对你很重要的东西/操作时才存储它。
如果您要在用户的会话未激活时在用户的个人资料中发布Open Graph个故事或正常feed,您可以使用应用访问令牌发布。