![[17.0.0.3 and later]](../ng_v17003plus.gif)
MicroProfile JSON Web トークンの構成
MicroProfile JSON Web トークンを認証トークンとして受け入れるように Liberty サーバーを構成できます。
始める前に
このタスクについて
MicroProfile 1.2 は、以下の 3 つの部分を含んでいる相互運用可能な JSON Web Token (MP-JWT) 標準を定義したものです。
- トークンのフォーマットおよびクレーム
- org.eclipse.microprofile.jwt.JsonWebToken インターフェース。 これは、java.security.Principal インターフェースの拡張であり、このクレーム集合を get style アクセサーを介して使用可能にします。
- JSON Web トークンおよびクレームから、さまざまな Java EE コンテナー・アプリケーション・プログラミング・インターフェース (API) へのマッピング
MP-JWT 仕様および API について詳しくは、JWT RBAC for MicroProfile を参照してください。
MP-JWT トークンを所有する信頼できるパーティーは、許可ヘッダーを介してトークンを送信することで、そのトークンを使用して Liberty 内の関連したリソースにアクセスできます。次の例に示すように、トークン・ワイヤー・フォーマットは RFC 6750 仕様 (「The OAuth 2.0 Authorization Framework: Bearer Token Usage」) に準拠していなければなりません。
GET /resource/1 HTTP/1.1
Host: example.com
Authorization: Bearer <MP-JWT token>
Liberty リソース・サーバーは、MP-JWT トークンを検証し、認証済み JSON Web トークンを作成し、JSON Web トークンおよびトークン・クレームを CDI 注入または JAX-RS セキュリティー・コンテキストを介して使用可能にします。JWT トークンは、MP-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"],
}