![[16.0.0.4 及更高版本]](../ng_v16004.gif)
在 Liberty 中构建 JSON Web Token
您可以通过在服务器配置中配置 JWT 构建器元素并在应用程序中实现 com.ibm.websphere.security.jwt.JwtBuilder 和 com.ibm.websphere.security.jwt.JwtToken API,以编程方式构建 JSON Web Token (JWT) 令牌。
关于此任务
有关 JWT API 的信息,请参阅 JSON Web Token Java 文档或随产品包含的 ${wlp.install.dir}/dev 目录中 API 文档。
过程
JSON Web Token API 示例
以下示例创建新 JWT。
JwtBuilder jwtBuilder = JwtBuilder.create();
jwtBuilder.subject("tom@op.com").claim(Claims.AUDIENCE, "https://acme.com/rs").claim("iss","https://sso.com/ibm/op" ).claim("scope", "impersonator monitor").claim("uid", "hasys123haksiqws");
JwtToken goToken = jwtBuilder.buildJwt();
生成的 JWT 使用服务器的缺省专用密钥签名且包含以下声明。
{
"aud": "https://acme.com/rs",
"iss": "https://sso.com/ibm/op",
"iat": 1388440863, "exp": 1388444763,
"uid": "hasys123haksiqws",
"sub": "tom@op.com",
"scope": "impersonator monitor"
}
以下示例从其他 JWT goToken 构建 newToken JWT。
JwtToken newToken = JwtBuilder.create().claim(Claims.AUDIENCE, "https://acme.com/rs").claimFrom(goToken, "sub").claim(goToken, "uid").claim(goToken, "scope").buildJwt();