我正在尝试将Web应用程序从“传统”的基于cookie的身份验证机制切换到纯粹基于令牌的身份验证机制。 一旦客户端接收到令牌,就应该对其进行缓存,以减少开销。 存储令牌的最佳方法是什么?

这是我从谷歌搜索中学到的:

我研究的第一个有希望的途径是浏览器会话存储,但是,据我所知,即使在标签之间也无法共享,这意味着如果用户使用新标签跟随网站的链接,则必须登录再次。

也有本地存储,但是我希望用户在关闭浏览器时自动注销,即使存储在服务器端使令牌失效,我对存储中的令牌也有些不安。 好像不干净。

另一种方法是将令牌存储在会话cookie中,这意味着令牌都将在浏览器关闭时被杀死,并且可以在各个选项卡之间共享。 这几乎是理想的,除了cookie每次访问服务器时都会通过电线发送,如果可能的话,我希望避免这种情况。 即使这不是安全问题,通过cookie以及在HTTP Authorization标头中发送它似乎也是多余的。 我曾考虑过将Cookie路径设置为我域中不存在的路径,但这也不完全是美的缩影...

因此,面对三个非最佳解决方案,我再次向SO寻求帮助。 你们是如何做到的? 最好的方法是什么?

tl; dr在单页Web应用程序中保留身份验证令牌的规范方法是什么?

===============>>#1 票数:0

我正在尝试将Web应用程序从“传统”的基于cookie的身份验证机制切换到纯粹基于令牌的身份验证机制。 一旦客户端接收到令牌,就应该对其进行缓存,以减少开销。 存储令牌的最佳方法是什么?

这是我从谷歌搜索中学到的:

我研究的第一个有希望的途径是浏览器会话存储,但是,据我所知,即使在标签之间也无法共享,这意味着如果用户使用新标签跟随网站的链接,则必须登录再次。

也有本地存储,但是我希望用户在关闭浏览器时自动注销,即使存储在服务器端使令牌失效,我对存储中的令牌也有些不安。 好像不干净。

另一种方法是将令牌存储在会话cookie中,这意味着令牌都将在浏览器关闭时被杀死,并且可以在各个选项卡之间共享。 这几乎是理想的,除了cookie每次访问服务器时都会通过电线发送,如果可能的话,我希望避免这种情况。 即使这不是安全问题,通过cookie以及在HTTP Authorization标头中发送它似乎也是多余的。 我曾考虑过将Cookie路径设置为我域中不存在的路径,但这也不完全是美的缩影...

因此,面对三个非最佳解决方案,我再次向SO寻求帮助。 你们是如何做到的? 最好的方法是什么?

tl; dr在单页Web应用程序中保留身份验证令牌的规范方法是什么?

  ask by BadIdeaException translate from so

未解决问题?本站智能推荐:

1回复

身份验证令牌vs Cookies-会话身份验证

我很困惑,哪种身份验证令牌比Cookie更安全-会话身份验证 在网上搜索时,我发现Authentication Token使用起来更快捷,更安全。 但是我的结论是,Cookie-会话身份验证更安全,因为会话是在安全的服务器上创建的,并且没有客户端用户可以访问它。 身份验证令牌仅
1回复

如何使用存储在HttpOnly Cookie中的令牌注销

我目前正在使用Microsoft的Identity来帮助Asp .NET Web API项目进行身份验证。 我正在生成一个承载令牌并将其存储在名为AUTH的HttpOnly cookie中 由于我没有在数据库中存储与令牌相关的任何内容,如何注销? 在将令牌存储在会话存储中之前,我只是将
1回复

有效比较给定令牌与数据库中散列的盐腌令牌

我正在使用令牌在我的应用程序中实现身份验证。 生成令牌时,实际的令牌会发送到客户端以存储在Cookie中,而散列的令牌与散列期间使用的盐一起保存在数据库中。 现在,要验证用户身份,我必须将给定令牌与数据库中保存的令牌进行比较,这似乎需要检查数据库中的每个条目,因为盐对于每个令牌都是唯
2回复

哪种身份验证方法最适合必须与具有身份验证的Web应用程序交互的客户端应用程序?

只是想知道人们会对WinForms客户端的方法提出什么建议,该方法必须与我的Web应用程序进行交互(ruby on rails,它将使用AuthLogic进行身份验证)。 例如以下选项:*对每个HTTP请求进行身份验证,*获得会话的令牌,直到超时*其他? 我认为这可以视为Web应用程
1回复

如何为“浏览器”和“非浏览器”客户端同时认证Web服务?

我的Web服务同时需要browser和non-browser客户端。 而且我使用基于令牌的身份验证来使服务变为stateless 。 我将令牌存储为cookie,因为我希望当从网页启动一些Ajax调用时automatically by the browser发送令牌。 但是对于非浏
2回复

Symfony 4身份验证的用户令牌丢失

我的登录有问题。 当我输入用户凭据并按登录按钮时,它将创建一个用户令牌并重定向到主页,但是当请求获取主页时,用户令牌不存在...这是来自dev.log文件的数据 这是我的安全Yaml conf。 我从symfony文档中获取了User类和UserProvider类。
1回复

无需记住我令牌的Laravel身份验证

我正在使用Laravel 4.2的身份验证机制,并且试图弄清楚何时以及如何设置“记住我” cookie令牌。 由于某些原因,当我执行以下代码时,即使第二个参数为false ,当我关闭浏览器并重新打开它时,我仍然会自动登录,而无需键入用户名和密码。 因此,即使它为false ,实际上它始终
4回复

如何在Angular JS应用程序中处理身份验证

我正在我的角度js应用程序中实现一个auth系统。 我正在计划如下: 获取用户信息(登录表单中的名称和传递) 检查用户是否存在 如果存在服务器响应会话cookie,前端将重定向到某个页面。 然后用户将执行一些将生成API请求的任务 API请求应包含
1回复

浏览器上基于令牌的身份验证和会话/本地存储[关闭]

好吧,我想实现一个Web应用程序,它使用身份验证机制来个性化网站上的用户体验,但同时我还有一些我想要清理的问题。 因此,在开始时,用户将使用他们的用户名和密码登录(让我们暂时忘记第三方认证并假设有适当的注册页面)并且在成功登录后,服务器将生成一个令牌,用于后续来自该特定用户的浏览器。 在下文
1回复

Facebook的应用程序级别身份验证令牌?

因此,我有一个需要访问公共信息但需要身份验证令牌的应用。 具体来说,我想从公共页面获取评论,这需要访问令牌。 理想情况下,我想要某种“全局”身份验证令牌,因为无论如何我都不会尝试访问任何不公开的内容。 有什么办法可以拥有应用程序级身份验证令牌?