我构建了一个 RESTful 服务,为 Android 客户端和浏览器客户端提供 XML + JSON。目前,我的 REST 服务使用基于 cookie 的身份验证。一切都在同源策略中协同工作,因为浏览器客户端页面是从提供 REST 服务的同一 Web 服务器提供的。
我想分离我的浏览器应用程序并从与 REST 服务不同的 Web 服务器提供其页面。我可以使用跨域资源共享继续从浏览器向 REST 服务发出 XmlHttpRequest 调用,但我无法确定身份验证。
- 我将 XmlHttpRequest 发送到身份验证服务
- REST 服务器在响应中设置一个 cookie
- 当浏览器接收到成功的请求时,它会将应用程序移动到下一页
- 下一页不维护登录页面上设置的 cookie,因此对 REST 服务的所有 XmlHttpRequest 调用都失败并显示 401
解决这个问题的最佳方法是什么?如果 cookie 身份验证不可行,我应该在这种情况下使用什么?