【发布时间】:2014-05-09 08:45:26
【问题描述】:
让 iOS 客户端登录到 Django 应用程序的最佳方法是什么 - 我已经探索了以下 2 种方法,但每种方法似乎都有其优点和缺点。
在客户端,我正在使用 AFNetworking - 但如果它简化了身份验证过程,也可以使用 NSURLsession。
(A) 在 Django 中使用内置会话变量 客户端发送登录凭据以获取会话密钥,并在活动会话期间在所有标头中使用此密钥。
我可以在 Django 中使用 @login_required 指令自动执行此操作,还是我需要手动编写会话变量检查代码(例如,将传入的会话密钥与 request.session.session_key 进行比较)?此外,我是否仍然可以使用 sweetpie(尽管 Django 直接进行身份验证)作为 API 包装器,还是必须使用 Django 进行数据(JSON)处理
(B) 在 sweetpie (+Django) 中使用 OAuth2 为用户创建客户端 ID 和密钥;客户端在会话开始时将其发送出去(连同用户名和密码)——在这个美味派之后管理会话
这似乎需要一个客户端 ID 和一个需要为每个用户生成的密钥。从 Django 管理面板生成它很简单,但我不清楚如何动态创建它并在创建用户后立即将其传递给客户端。
【问题讨论】: