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