JWT是否可以放入一维条形码中?

时间:2019-04-16 01:05:11

标签: jwt authorization compression

许多API使用JWT来授权请求​​。一维条形码似乎可以容纳约20-128个ASCII字符。我的一个示例JWT长300个字符。

JWT使用什么字符集?您可以压缩JWT使其适合128个ASCII字符吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以生成少于128个字符的JWS(带符号的JWT),但是我不知道这是否适合一维条形码

rfc7519, section 4中描述的声明都是可选的,因此您可以将自己限制为一个或两个声明。

JWS的3个段(标头,有效载荷,签名)经过base64url编码,基本上使用了ASCII字符集的有限子集。

HS256签名也很短。

这是我在https://jwt.io上制作的一个示例:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyMzQ1NjciLCJpYXQiOjE1MTYyMzkwMjJ9.5MUB9gKEULAzH1iQhOTw_0hMx92LC5tM-f-0udDws38

这只是126个字符长。

您可以将示例令牌粘贴到https://jwt.io上的调试器窗口中,以查看其中的内容。

我使用在线条形码生成器制作了此条形码。不知道这是否真的有用,可能取决于您用来读取它的软件:

a JWT as 1D barcode

在这种情况下,QR代码可能是个好主意。