我正在研究如何开发 iOS 应用程序,我需要弄清楚应该如何构建它。
架构:
我有一个外部数据库、一个 REST API(作为数据库和应用程序之间的接口(interface))和 iOS 应用程序。
问题:
我希望用户通过简单的表单或 Facebook 登录按钮进行身份验证,但在每种情况下,数据库中的表“用户”都必须填写默认字段,例如姓名、电子邮件、个人资料图片、密码(?)。
对于标准身份验证没有问题,但对于 Facebook 身份验证我对理论很困惑:
- 我应该使用访问 token 吗?怎么办?
- 当用户通过 Facebook 进行身份验证时,我没有他的密码,那么如何从数据库中获取他的信息?按照标准方式,我将提供数据库用户名和密码,它将返回例如 id 字段。
抱歉我的英语不好。
最佳答案
您可以使用当前登录用户的访问 token
[FBSDKAccessToken currentAccessToken]
并将其发送到您的 REST api。从那里您可以检索所需的所有信息并将其保存到数据库中(当然用户密码除外)。如果用户首次登录您的应用,请在您的数据库中插入新用户并保存用户的 Facebook 用户 ID。
使用身份验证和授权的整个想法不是访问另一个应用程序的用户密码,而是用户授权(确认)您的应用程序以特定权限访问他/她的帐户。
以下是您需要的分步答案: Design for Facebook authentication in an iOS app that also accesses a secured web service
关于iOS、REST API - Facebook 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335056/