2016-01-11 67 views
1

我一直在研究这个主题一段时间,但我无法真正找到任何有用的信息,所以我认为会在这里提出问题。通过REST API进行用户身份验证

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

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

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

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

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

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

谢谢!

+0

为什么不使用基于jwt令牌的认证? –

+1

base64不安全,所以要小心 –

回答

0

有一个虚拟的servlet,它只会接收请求并不执行任何操作。单击按钮或用户的某些UI活动来触发Ajax调用。这些Ajax调用背后的原因是扩展会话。

每当您的会话过期时,您将得到错误的响应,其中将有401(未授权)状态码。一旦获得401状态码,重定向到登录页面。

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

相关问题