【问题标题】:Browser based app authenticate with REST service基于浏览器的应用程序使用 REST 服务进行身份验证
【发布时间】:2020-01-03 15:53:56
【问题描述】:

我已经构建了一个 RESTful 服务,为 Android 客户端和浏览器客户端提供 XML + JSON。目前,我的 REST 服务使用基于 cookie 的身份验证。由于浏览器客户端页面是从提供 REST 服务的同一个 Web 服务器提供的,因此一切都在同源策略中协同工作。

我想将我的浏览器应用程序分开,并从与 REST 服务不同的 Web 服务器为其页面提供服务。我可以使用跨域资源共享继续从浏览器向 REST 服务发出 XmlHttpRequest 调用,但我无法确定身份验证。

  1. 我向身份验证服务发送了一个 XmlHttpRequest
  2. REST 服务器在响应中设置一个 cookie
  3. 当浏览器收到成功的请求后,将应用移至下一页
  4. 下一页不维护登录页面上设置的 cookie,因此对 REST 服务的所有 XmlHttpRequest 调用都失败并显示 401

解决这个问题的最佳方法是什么?如果 cookie 身份验证不可行,我应该在这种情况下使用什么?

【问题讨论】:

    标签: javascript authentication


    【解决方案1】:

    我的建议是在两台服务器前运行 Apache 或类似的 Web 服务器并使用代理模块。这样一来,所有的调用都是对同一个主机的,所以 cookie 会保留。这在许多项目中对我有用,包括基于 cookie 的身份验证。

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 2021-11-05
      • 2020-05-04
      • 1970-01-01
      • 2012-12-13
      • 2015-08-12
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      相关资源
      最近更新 更多