在客户端解码 HS256?

Decoding HS256 in client side?

我正在为我的应用程序使用 json 网络令牌。

当我登录到我的网站并想查看谁是登录用户时,我有一个以前存储的令牌,其中包含以 HS256 编码的所有需要​​的数据。

我应该使用这个令牌负载来显示 "Hello ..." 和负载中的用户名,还是应该解码令牌服务器端并从那里检索用户数据?

有没有解码HS256的客户端库供我使用? 或者这是不好的做法,应该避免。

JWT 是独立的,并受数字签名保护。您可以完美使用token中包含的信息,但您应该验证过期时间并确保数字签名未被更改。

要在客户端验证签名,您需要密钥是非对称的,并使用 public 密钥进行验证。可能会将令牌发送到服务器,从而为您解决问题。取决于操作可能会承担风险,只要令牌用于服务器上的身份验证并执行验证

Is there any client-side library to decode HS256 for me to use? Or is it bad practice and should be avoided.

事实上,您不需要任何库。有效载荷是 base64 url 编码的,可以用任何编程语言轻松解码。您需要一个图书馆来验证数字签名。看看jwt.io