Session 令牌认证安全
Session Token Authentication Security
我需要一些关于使用 session 令牌对用户进行身份验证的建议。我正在构建一个 AngularJS 应用程序,它使用 API 与后端配合。我只做前端,不做后端。文档指出对 API 的所有调用都在请求的 body 中附加了一个 session 标记 (POST)。
我想知道将此令牌存储在 localStorage 中的安全性。这就是我现在存储它并检索它并将其附加到每个 API 请求的地方。登录后,服务器在 body 中发送 session 令牌,我从那里保存它。
没有关于应与向服务器发出的请求一起发送的 x-access-token header 的文档。它没有被检查服务器端。这意味着什么?我觉得如果没有这个额外的安全层,它很容易受到攻击。
我主要担心的是此设置的安全性。我想知道什么是确保此应用尽可能安全的最佳设置,并建议更改后端的设置方式以促进这一点。
谢谢!
我建议使用 $cookies 而不是 localstorage。由于 localstorage 不支持某些旧版浏览器。
我在我的项目中使用 cookie 来存储令牌
如您所说,您只在处理 UI 部分而不是后端。后端团队要确保 header 得到正确评估并执行安全措施(顺便说一下,请求 header 不属于请求 body)。只需按照他们所说的将令牌放入 x-access-token
header。
将令牌存储在 localStorage
中可以让您更好地控制 cookie:您不会不小心将它发送到不必要的 URL。但是,旧版浏览器不支持它 - 您可能需要为此使用垫片。
在 SPA 的情况下,您可以考虑根本不存储令牌:每次访问您的应用程序时都可以获取令牌,然后将其存储在 angularjs 中的服务中,但这取决于您的 fetch/login 操作实现(是否始终交互,需要多长时间等)。
我需要一些关于使用 session 令牌对用户进行身份验证的建议。我正在构建一个 AngularJS 应用程序,它使用 API 与后端配合。我只做前端,不做后端。文档指出对 API 的所有调用都在请求的 body 中附加了一个 session 标记 (POST)。
我想知道将此令牌存储在 localStorage 中的安全性。这就是我现在存储它并检索它并将其附加到每个 API 请求的地方。登录后,服务器在 body 中发送 session 令牌,我从那里保存它。
没有关于应与向服务器发出的请求一起发送的 x-access-token header 的文档。它没有被检查服务器端。这意味着什么?我觉得如果没有这个额外的安全层,它很容易受到攻击。
我主要担心的是此设置的安全性。我想知道什么是确保此应用尽可能安全的最佳设置,并建议更改后端的设置方式以促进这一点。
谢谢!
我建议使用 $cookies 而不是 localstorage。由于 localstorage 不支持某些旧版浏览器。 我在我的项目中使用 cookie 来存储令牌
如您所说,您只在处理 UI 部分而不是后端。后端团队要确保 header 得到正确评估并执行安全措施(顺便说一下,请求 header 不属于请求 body)。只需按照他们所说的将令牌放入 x-access-token
header。
将令牌存储在 localStorage
中可以让您更好地控制 cookie:您不会不小心将它发送到不必要的 URL。但是,旧版浏览器不支持它 - 您可能需要为此使用垫片。
在 SPA 的情况下,您可以考虑根本不存储令牌:每次访问您的应用程序时都可以获取令牌,然后将其存储在 angularjs 中的服务中,但这取决于您的 fetch/login 操作实现(是否始终交互,需要多长时间等)。