![[17.0.0.3 and later]](../ng_v17003plus.gif)
配置 MicroProfile JSON Web 令牌
可以将 Liberty 服务器配置为接受 MicroProfile JSON Web 令牌作为认证令牌。
开始之前
关于此任务
MicroProfile 1.2 定义了一个可互操作的 JSON Web 令牌 (MP-JWT) 标准,该标准包含以下三个部分:
- 令牌格式和声明
- org.eclipse.microprofile.jwt.JsonWebToken 接口,这是 java.security.Principal 接口的扩展,使此组声明能通过 Get 样式访问程序使用
- 将 JSON Web 令牌和声明映射到各种 Java EE 容器应用程序编程接口 (API)
请在 JWT RBAC for MicroProfile 中查找 MP-JWT 规范和 API。
任何拥有 MP-JWT 令牌的可信方都可以通过在授权标头中发送该令牌,从而使用该令牌来访问 Liberty 中的关联资源。令牌有线格式必须遵循 RFC 6750 规范“OAuth 2.0 授权框架:不记名令牌用法”,如以下示例所示:
GET /resource/1 HTTP/1.1
Host: example.com
Authorization: Bearer <MP-JWT token>
Liberty 资源服务器将验证 MP-JWT 令牌、创建已认证的 JSON Web 令牌,并通过 CDI 注入或 JAX-RS 安全上下文使
JSON Web 令牌和令牌声明可用。要作为 MP-JWT 令牌接受,JWT 令牌必须包含声明列表。以下示例显示一个 MP-JWT 令牌:
{
"typ": "JWT",
"alg": "RS256",
"kid": "abc-1234567890"
}
{
"iss": "https://server.example.com",
"aud": "s6BhdRkqt3",
"jti": "a-123",
"exp": 1311281970,
"iat": 1311280970,
"sub": "24400320",
"upn": "jdoe@server.example.com",
"groups": ["red-group", "green-group", "admin-group", "admin"],
}