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

Sha*_*t95 11 jwt

我看到 JWT 令牌由 AZ,aZ,0-9 和特殊字符-_. 我想知道 JWT 令牌中允许的字符列表?

cmb*_*ley 18

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

Base64 有许多不同的变体,具体取决于将使用编码的位置。典型的 MIME base64 将+/用作最后两个字符,但 Base64-URL ( RFC 4648 §5 ) 旨在用于 URL 和文件名,因此-_改为使用。

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

[a-zA-Z0-9-_.]+
Run Code Online (Sandbox Code Playgroud)

如果您想改进正则表达式以匹配描述的格式:

^[a-zA-Z0-9-_]+\.[a-zA-Z0-9-_]+\.[a-zA-Z0-9-_]+$ 
Run Code Online (Sandbox Code Playgroud)