我在API
上有一个PHP example.com
,可根据Sessions
对用户进行身份验证。
我正在开发移动应用程序,但每当用户向API
发出POST Ajax请求时,它都会使用set-cookie
标头进行响应。
显然,移动应用程序无法发送cookie,因为它们来自不同的域。
如何使身份验证过程在移动设备上运行?
答案 0 :(得分:1)
RESTful API的规则#1:HTTP是无状态的 - 保持这种状态。
如果你想彻底解决你的困境,可以考虑实现一些东西,以便从GET,POST参数或标题之外获取会话ID(我通常使用Authorization标题,亲自进行)。这样您就不必依赖cookie,除非必须这样做。
对你的问题的一个hackish修复是将cookie域设置为* .example.com,它将映射每个域,或强制使用jQuery(如果你使用它)添加cookie {{1 callback(允许您修改请求的标头)。如果没有修改API的登录方法,这些是您唯一的选择。