在我的应用程序中,我需要与我的 Django 网站进行通信。有些资源需要身份验证,所以我需要用户登录。
但这不会发生在浏览器或 Web 视图中。我需要使用 Object-C 发出登录请求并处理响应 - 基本上是为了存储我猜的会话 ID。
在 Web 服务器端,我应该如何在 Django 中执行此操作?有一个独立的视图并返回 JSON 可能吗?我怎样才能获得新生成的会话 ID?
我不会得到会话ID。我相信登录用户更适合网络界面。我将创建一个 API,为您的应用程序中所需的资源提供服务。 http://en.wikipedia.org/wiki/Representational_state_transfer 身份验证可能最适合私钥/公钥对或其他类似的流行 api 身份验证系统。
您无需对身份验证系统进行任何更改,除非确保登录表单在较小的屏幕上可用。Cookie 在 iOS 上的工作方式与在 Web 上的工作方式相同。您可以使用登录表单显示模态 UIWebView。用户登录后,大概您正在设置会话 cookie。如果您向 cookie 匹配的域发出后续请求,则应该发送 cookie。您想查看 HTTP 'Accept' 标头字段,该字段指定客户端期望接收的内容类型。在您的控制器(视图?)中,您需要检查“接受”标头,并返回适当的内容类型,可能是“应用程序/json”(或您的 API 的自定义类型)。