目标: 允许用户使用Facebook进行身份验证,进入需要访问我正在运行的受保护Web服务的iOS应用程序.
假设: 对于那些选择不使用Facebook登录的用户,有一个原生身份验证(和注册)系统.
细节:
我很惊讶Facebook在他们的开发者文档中没有这方面的最佳实践.所有现有文档要么假设您正在构建一个网站的FB auth,要么是一个没有需要身份验证的服务的独立移动应用程序.
这是我对如何设计这个问题的初步想法,但是想要验证它是否正确.
我们的服务器使用访问令牌与FB图形API进行通信,以(a)验证令牌和(b)获取该访问令牌的FB用户ID.
例如,我们的服务器将调用https://graph.facebook.com/me/?access_token=XYZ,它将返回JSON对象中的配置文件信息
假设它有效,我们的服务器从JSON对象中提取用户ID并检查用户是否已经拥有一个帐户.如果是这样,我们会向客户端发出我们自己的身份验证票据以用于该会话.如果用户没有帐户,我们使用Facebook用户ID创建一个新帐户,分配我们自己的唯一用户ID并发出我们的身份验证票.
这对我来说似乎是正确的方法,但不确定我是否遗漏了一些疯狂的基本内容并走错了(复杂的)路径.