JSON Web Tokens (JWTs)
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

JWTベアラーフローの設定

Liferay で JWT Bearer を付与タイプとして使用するには、クライアント認証方法を Client Secret Basic または Postに設定して OAuth 2 クライアントを作成する必要があります。 クライアントは、Liferay アクセス トークンと引き換えに、アサーションと許可タイプとともにクライアント ID とシークレットを送信する必要があります。

アサーションを検証するには、Liferay で着信アサーション発行者を設定する必要があります。 これは、Liferay (信頼当事者) と発行者 (トークン サービス) の間に信頼関係を形成するためです。 認可付与としてのアサーションを参照

  1. グローバル メニュー (Applications Menu icon) を開き、 コントロール パネルインスタンス設定に移動します。

  2. OAuth 2 受信アサーション構成で、 追加をクリックします。

  3. 発行者の名前、JSON Web キー セット、およびユーザー認証タイプを入力します。

    発行者、JWKS、ユーザー認証タイプの詳細を入力します。

  4. [保存]をクリックします。

発行者の値は、発行者の JWT アサーション内の iss 値と等しくなければなりません。 ユーザー認証タイプの値は、JWT アサーション内の サブ 値と一致する必要があります。 これらの値をマップするには、トークン サービスで追加の構成が必要になる場合があります。

JSON Web キー セットは通常、トークン サービスの JWKS URI で入手できます。 たとえば、Keycloakを使用している場合、JWKS URIは次の場所で入手できます。

http://{hostname}/realms/{realm_name}/protocol/openid-connect/certs

JWTベアラーフローの有効化

受信アサーション発行者を構成した後、クライアントの JWT ベアラー フローが有効になっていることを確認します。

  1. グローバル メニュー (Applications Menu icon) を開き、 コントロール パネルOAuth 2 管理に移動します。

  2. OAuth 2 クライアントを選択し、「許可された認証タイプ」まで下にスクロールします。

  3. JWT_BEARER チェックボックスをオンにします。

  4. [保存]をクリックします。

Liferayからアクセストークンを取得する

着信アサーション発行者を設定し、クライアントの JWT_BEARER フローを有効にすると、Liferay からアクセス トークンの取得を開始できます。

機密クライアントを使用している場合は、Liferay のトークン URL https://{hostname}/o/oauth2/token への POST リクエストを開始し、本文に次のパラメータを含める必要があります ( application/x-www-form-urlencodedとしてエンコードされます)。

client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRET
grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
assertion=JWT assertion from the token service

以下は、Keycloak からの JWT アサーションを使用して Liferay に対して行われたトークン要求のサンプルです。 Keycloak は、Liferay の着信アサーション発行者として設定されています。

Liferay は JWT Bearer フローのアクセス トークンを発行します。