如何判断用户是不是使用仅限 http 的 cookie 和 JWT 登录(客户端)

Posted

技术标签:

【中文标题】如何判断用户是不是使用仅限 http 的 cookie 和 JWT 登录(客户端)【英文标题】:How to tell if a user is logged in with http only cookies and JWT in react (client-side)如何判断用户是否使用仅限 http 的 cookie 和 JWT 登录(客户端) 【发布时间】:2020-07-22 11:31:28 【问题描述】:

因此,我正在尝试遵循安全最佳实践,并通过我的 React 应用程序在仅安全的 http-only cookie 中发送我的 JWT 令牌。

这适用于请求,但我发现这种方法的主要问题是,如果我无法检查令牌是否存在,我如何判断用户是否在客户端登录?我能想到的唯一方法是对仅返回 200 的受保护端点进行简单的 http。

有什么想法吗? (不找代码实现)

【问题讨论】:

如何发送带有令牌的标头并在快递中使用中间件? 我在谈论客户端。服务器端我已经有一个中间件检查 cookie 以提取令牌。 那为什么你不能只信任你的服务器并在 X 响应后登录用户呢?我还没明白重点 每次用户启动应用程序时都必须发送一个请求来检查用户是否登录,这感觉很奇怪,仅此而已。对我来说,“合乎逻辑”的解决方案是将令牌存储在某个地方,然后检查我是否有令牌。然后在任何首先发送的请求中,如果我收到 404,则只需从存储令牌的任何位置删除令牌并重定向。 @EnriqueDev 你找到解决方案了吗? 【参考方案1】:

我将遵循的方法是假设用户已登录,并发出所需的请求,这将在请求标头中自动发送 httpOnly 令牌。

如果请求中不存在令牌,则服务器端应以 401 响应,然后您可以在客户端做出相应的反应。

【讨论】:

以上是关于如何判断用户是不是使用仅限 http 的 cookie 和 JWT 登录(客户端)的主要内容,如果未能解决你的问题,请参考以下文章

如何从服务器端判断客户端是不是支持 http/2

HTTP的认证机制

如何使用JMeter发送仅限http的cookie?

如何仅限超级用户查看?

如何使用自定义 NSTextStorage 清除 UITextView? [仅限 iOS7]

Java 之 cookie 记住用户登录时间案例