![[16.0.0.4 以及更新版本]](../ng_v16004.gif)
在 Liberty 中建置「JSON Web 記號」
您可以採程式設計方式來建置「JSON Web 記號 (JWT)」的記號,作法是在伺服器配置中配置 JWT 建置器元素,並在您的應用程式中實作 com.ibm.websphere.security.jwt.JwtBuilder 和 com.ibm.websphere.security.jwt.JwtToken API。
關於這項作業
如需 JWT API 的相關資訊,請參閱 JSON Web 記號 Java 說明文件,或產品之 ${wlp.install.dir}/dev 目錄中所包含的 API 文件。
程序
「JSON Web 記號」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();