0

我有一个API基于.example.comSessions

我正在为此开发一个移动应用程序,但是每当用户向 POST Ajax 请求时API,它都会以标头响应set-cookie

显然 cookie 不能在移动应用程序上发送,因为它们来自不同的域。

如何使身份验证过程在移动设备上运行?

4

1 回答 1

1

RESTful API 的规则 #1:HTTP 是无状态的 - 保持这种状态。

如果您想巧妙地解决您的困境,请考虑实现一些东西以从 GET、POST 参数或标头中获取会话 ID(我个人通常使用 Authorization 标头来实现)。这样就可以让您不必依赖 cookie,除非您必须这样做。

对您的问题的一个hackish解决方法是将cookie域设置为* .example.com,这将映射每个域,或者强制使用jQuery(如果您使用它)的beforeSend回调(它允许您添加cookie)修改请求的标头)。除了修改 API 的登录方法之外,这些是您唯一的选择。

于 2013-05-23T18:45:23.460 回答