【问题标题】:User Authentication through REST API通过 REST API 进行用户身份验证
【发布时间】:2016-04-16 01:14:27
【问题描述】:

我一直在研究这个话题,但我无法真正找到任何有用的信息,所以我认为会在这里问这个问题。

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

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

用户通过身份验证后,响应会在客户端上创建一个带有 JSESSIONID 的 cookie,这是服务器用于对以下请求的用户进行身份验证的方式,直到达到会话限制,这样编码的标头选项就不需要了与以下请求一起发送。

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

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

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

谢谢!

【问题讨论】:

  • 为什么不使用基于 jwt 令牌的身份验证?
  • base64 不安全,所以要小心

标签: javascript rest session authentication polymer-1.0


【解决方案1】:

有一个虚拟的 servlet,它只会接收请求而不做任何事情。单击按钮或用户的某些 UI 活动触发 Ajax 调用此虚拟 servlet。这些 Ajax 调用背后的原因只是为了扩展会话。

每当您的会话到期时,您都会收到错误响应,其中包含 401(未授权)状态代码。收到 401 状态码后,立即重定向到登录页面。

在单页应用程序的情况下,这种方法更可取,因为所有资源都在浏览器中加载一次。 我认为这足以满足您的关注。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 2015-04-01
    • 1970-01-01
    • 2017-02-04
    • 2023-04-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    相关资源
    最近更新 更多