把登录接口返回的 token 粘进来,就能看清里面到底装了什么。注意:解析只是 Base64 解码,不代表签名有效。
签名段是二进制数据的 Base64URL 编码,无法还原成可读内容。要验证签名,需要用对应的密钥或公钥重新计算。
解析 ≠ 验证。任何人都能解码 JWT 的内容,因此不要在载荷里放密码、身份证号等敏感信息。服务端必须重新校验签名,否则攻击者可以伪造管理员令牌。
alg=none 是危险的。如果服务端接受算法为 none 的令牌,等于完全不做校验。历史上多个知名漏洞都源于此。
HS256 与 RS256 不要混用。有些实现会拿 RS256 的公钥去当 HS256 的密钥验证,从而导致伪造。请固定服务端允许的算法。