最佳答案
< >强目标: 允许用户通过Facebook认证进入iOS应用程序,该应用程序需要访问我正在运行的受保护的web服务
< >强假设: 对于那些选择不使用Facebook登录的用户,有一个本地认证(和注册)系统
细节:
我很惊讶Facebook在他们的开发者文档中没有这方面的最佳实践。所有现有的文档都假设你正在将facebook认证构建到一个网站中,或者是一个不需要认证服务的独立移动应用程序。
以下是我对这将如何设计的最初想法,但希望验证它是否正确。
例如,我们的服务器将调用https://graph.facebook.com/me/?access_token=XYZ,它将以JSON对象
的形式返回配置文件信息假设它是有效的,我们的服务器从JSON对象中提取User ID,并检查用户是否已经拥有帐户。如果是这样,我们就向客户端发出我们自己的认证票据,以用于该会话。如果用户没有帐户,我们创建一个新的Facebook用户ID,分配我们自己唯一的用户ID,并发出我们的认证票。
这对我来说似乎是正确的方法,但不确定我是否错过了一些疯狂的基本内容,走上了错误的(复杂的)道路。