使用 jwt 令牌时如何发送用户信息?

Posted

技术标签:

【中文标题】使用 jwt 令牌时如何发送用户信息?【英文标题】:How to send user information when using jwt token? 【发布时间】:2018-08-20 08:45:52 【问题描述】:

我正在使用 angular5 和 jwt 开发“写评论”。

当用户写评论时,它会将评论内容连同 jwt 令牌一起发送到服务器。

在这种情况下,服务器是否应该在 jwt 令牌中处理作者信息?

或者我应该一起传递用户名吗?

想知道有没有通用的开发方法或参考。

【问题讨论】:

您应该在jwt中发送用户名,然后服务器可以对其进行解码以获得用户名。出于安全原因,请记住还要验证令牌 永远不要直接传递用户信息 - 这不安全。如果您要传递 JWT 令牌,您可能会将所需的所有用户信息存储在令牌中,以便服务器处理客户端身份验证。 在此处复制并粘贴您的令牌,并查看其中包含的内容:jwt.io 【参考方案1】:

我想问您是否将作者信息视为密码之类的敏感信息,如果没有,请参考以下答案:

如果您的 JWT 令牌已经包含作者信息,则无需发送用户名,因为发送的 JWT 已经包含它,您可以从 JWT 有效负载中验证并获取它,如果它不包含作者 JWT 中的信息我建议您将其添加到 JWT 有效负载中,因为每次用户添加评论时都需要发送用户名,因此单独发送它没有意义,也始终建议在使用 JWT 时使用 HTTPS 连接。

还始终在服务器端借助服务器机密验证 JWT 的真实性,例如,您可以使用 Spring 过滤器拦截所有经过身份验证的请求并检查 JWT 令牌的真实性。

另外,请您参考以下链接:

https://jwt.io/introduction/

https://stormpath.com/blog/jwt-the-right-way

【讨论】:

以上是关于使用 jwt 令牌时如何发送用户信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 jwt 令牌获取确切的用户以及用户在 laravel 中的确切帖子

node js jwt如何将令牌传递给其他路由以稍后检查登录的用户信息

PHP:如何使用 JWT 从 API 注销

使用 JWT 获取用户信息

如何使用基于 JWT 令牌的 express 获取经过身份验证的用户信息

如何使用 JWT 身份验证获取登录用户信息?