javascript - 通过 REST API 进行用户身份验证

标签 javascript rest session authentication polymer-1.0

我研究这个主题已经有一段时间了,但我无法真正找到任何有用的信息,所以我想在这里问这个问题。

我有一个 REST API,它已经构建、已经部署,但我无法编辑。我正在尝试利用这个 REST API 来构建一个 Web 应用程序(使用 Polymer)。我似乎无法解决的问题是用户身份验证。

所使用的 REST API 为我处理所有身份验证功能。我需要做的就是发送带有 Base64 编码的用户名和密码作为 header 选项的 POST 请求,然后服务器完成其余的工作(足够简单)。

用户通过身份验证后,响应会在客户端上使用 JSESSIONID 创建一个 cookie,这是服务器用来对以下请求进行用户身份验证的内容,直到达到 session 限制,以便不需要编码 header 选项与以下请求一起发送。

一旦服务器上的 session 过期,请求将返回 400 错误,简单地说需要用户名和密码。

我的问题是在基于 JavaScript 的客户端中处理此问题的最佳方法是什么?我希望能够优雅地处理过期,但是实际上没有方法(我可以想到如何处理此 session 。)

任何和所有建议将不胜感激。

谢谢!

最佳答案

有一个虚拟 servlet,它只接收请求而不执行任何操作。单击按钮或用户对此虚拟 Servlet 的某些 UI 事件时触发 Ajax 调用。这些 Ajax 调用背后的原因只是为了延长 session 。

每当您的 session 过期时,您都会收到错误响应,其中包含 401(未经授权)状态代码。一旦收到 401 状态代码,就重定向到登录页面。

对于单页应用程序,这种方法更可取,因为所有资源都在浏览器中加载一次。 我想这足以满足您的担忧。

关于javascript - 通过 REST API 进行用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34726443/

相关文章:

java - 如何在 Spring MVC 应用程序中自动导航到登录页面?

基于 json 或 XML 的 Javascript 表单过滤器来制作选项框

javascript - 通过将未通过测试的树节点映射到其子节点来 trim 树

ios - 如何使用 Alamofire 发送字节?

python - 将 StreamingHttpResponse 与 Django Rest Framework CSV 一起使用

php - Javascript/ajax/php 问题 : sending from server to client works, 从客户端发送到服务器失败

javascript - 使用 OnBeforeUnload 事件刷新浏览器

php - 从打印 CSS 中删除 JS

javascript - 未捕获的类型错误 : grid. sortedData.peek(...).filter 不是函数

Drupal 7 中的 JSON 提要上下文