JWT令牌中允许使用哪些字符?

时间:2019-03-16 20:07:57

标签: jwt

我看到JWT令牌由A-Z,a-Z,0-9和特殊字符-_组成。我想知道JWT令牌中允许的字符列表吗?

1 个答案:

答案 0 :(得分:9)

来自JWT introduction:“输出是三个用点分隔的Base64-URL字符串”。

Base64具有number of different variants,具体取决于将在何处使用编码。典型的MIME base64将使用+/作为最后两个字符,但是Base64-URL(RFC 4648 §5)旨在用于URL和文件名,因此应使用-_

因此,JWT将使用字符a–z,A–Z,0–9和-_.。或者,作为正则表达式:

[a-zA-Z0-9-_.]+

如果您想对正则表达式进行改进以使其与所述格式相匹配:

^[a-zA-Z0-9-_]+\.[a-zA-Z0-9-_]+\.[a-zA-Z0-9-_]+$