6. Unsecured JWTs (无保护的JWT)
为了支持JWT内容通过JWT中包含的签名和/或加密以外的方式进行保护的用例(例如对包含JWT的数据结构进行签名),也可以 (MAY) 创建没有签名或加密的JWT。无保护的JWT (Unsecured JWT) 是使用"alg"头部参数值"none"的JWS,其JWS签名值为空字符串,如JWA规范 [JWA] 中所定义; 它是以JWT声明集作为其JWS有效载荷的无保护JWS。
6.1. Example Unsecured JWT (无保护JWT示例)
以下示例JOSE Header声明编码的对象是无保护的JWT:
{"alg":"none"}
对JOSE Header的UTF-8表示的字节进行Base64url编码,得到以下编码的JOSE Header值:
eyJhbGciOiJub25lIn0
以下是JWT声明集的示例:
{"iss":"joe",
"exp":1300819380,
"http://example.com/is_root":true}
对JWT声明集的UTF-8表示的字节进行Base64url编码,得到以下编码的JWS有效载荷(为便于显示添加了换行符):
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ
编码的JWS签名是空字符串。
按此顺序连接这些编码的部分,部分之间用句点('.')字符分隔,得到以下完整的JWT(为便于显示添加了换行符):
eyJhbGciOiJub25lIn0
.
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.