我对如何做到这一点有一个模糊的想法。
我的应用程序正在使用用 Django 编写的 API,但我的客户要求我仅使用 Twitter 进行身份验证。问题是,在我通过 Twitter 将他们登录到 iPhone 应用程序后,我将如何使用 Django 的用户模型?
顺便说一下,我在 Django 中使用 django-tastypie,在 iOS 中使用 ASIHTTPRequest。
谢谢!
最佳答案
Ygam,
我在我的应用程序(以及我们的网站)中使用 Facebook Connect/Graph,并使用 Piston 将 API 包裹在我的 Django 网站中。我实际上正在考虑去 TastyPie,但目前没有时间重构。
当我们引入 FB 时我遇到了类似的问题,所以我决定对所有 API 调用使用 API token 并在成功登录时发布该 token ,无论将使用什么身份验证机制(django user/pw,FB 、推特等)
目前用户可以使用用户名/密码或 FB 登录应用程序。登录包含通过 HTTPS 返回配置文件 json 的“GET”(我可以先返回一个 API token 并让应用程序再次调用配置文件 json,但是在处理移动设备和慢速网络时,您希望减少网络调用).
token 存储在本地并且会一直有效直到服务器决定撤销它(过期,由用户在网站上手动等)
所以现在我的“GET/profile”仅支持基于身份验证机制的不同 url 参数,例如 Django 的用户名/密码、Facebook 的 fbtoken、twtoken 等。在服务器端,我使用 Django 与第 3 方验证外部 token 接口(interface)。这也用于获取 FB 配置文件数据,如电子邮件地址,并将其存储在 Django 模型中。
我没有看过 iOS5 中的 Twitter 集成,但只要您可以获得授权 token ,您就可以做类似的事情。
关于ios - 使用 Twitter 在 iPhone 中登录用户并将经过身份验证的用户保存到远程 Django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7707664/