Web applications 什么';浏览器内ajax客户端缓存凭据的安全方法是什么? 用户通过浏览器进入富web应用程序 用户输入登录凭据。凭证被编码和缓存。(凭据用于将使用xhr与服务器交互的浏览器内REST客户端。) 用户执行各种任务/更新,每个任务/更新都会发出一个ajax请求,并传递编码的凭据(通过https进行基本身份验证) 用户单击一个链接,该链接将他带到另一个资源(重新加载整个页面,而不是较小的ajax请求)

Web applications 什么';浏览器内ajax客户端缓存凭据的安全方法是什么? 用户通过浏览器进入富web应用程序 用户输入登录凭据。凭证被编码和缓存。(凭据用于将使用xhr与服务器交互的浏览器内REST客户端。) 用户执行各种任务/更新,每个任务/更新都会发出一个ajax请求,并传递编码的凭据(通过https进行基本身份验证) 用户单击一个链接,该链接将他带到另一个资源(重新加载整个页面,而不是较小的ajax请求),web-applications,rest,webclient,basic-authentication,Web Applications,Rest,Webclient,Basic Authentication,由于整个应用程序使用内部REST客户端,因此每个请求都必须传递凭据。当用户第一次访问该站点时,我没有问题提示他输入这些凭据。问题是存储他编码的用户名/密码散列的最安全方式是什么?如果这是一个单页web应用程序,我想它可以安全地缓存在内存中。但是,由于用户有时会移动到其他资源(步骤4),我希望允许他继续工作,而无需再次验证。这必须涉及到将他的凭证缓存到某个地方(在cookie或本地存储中?)。无论如何,我需要访问他已经提供的凭据,以便客户端可以在每次请求时继续传递这些凭据,即使在重新加载整个页面后

由于整个应用程序使用内部REST客户端,因此每个请求都必须传递凭据。当用户第一次访问该站点时,我没有问题提示他输入这些凭据。问题是存储他编码的用户名/密码散列的最安全方式是什么?如果这是一个单页web应用程序,我想它可以安全地缓存在内存中。但是,由于用户有时会移动到其他资源(步骤4),我希望允许他继续工作,而无需再次验证。这必须涉及到将他的凭证缓存到某个地方(在cookie或本地存储中?)。无论如何,我需要访问他已经提供的凭据,以便客户端可以在每次请求时继续传递这些凭据,即使在重新加载整个页面后也是如此


我关心的是以安全的方式这样做。是否有最佳做法?

我认为本地存储或Cookie将是存储您的凭据的好地方。。。个人偏好是本地存储。我使用两个基于OAuth的web应用程序来实现这一点

您可以选择加密/解密进出您最终选择的任何信息:

另一方面,您可能希望了解OAuth,因为规范中为您的具体用例定义了一个工作流