OAuth 2のスコープ
OAuth 2.0では、アプリケーションはユーザーデータの制限されたサブセットへのアクセスを許可されます。 これらはスコープと呼ばれます(Liferayスコープと混同しないでください)。 これらは 2 つの方法で作成できます。
-
管理者は、スコープのサービス アクセス ポリシーを作成できます。
-
開発者は JAX-RS エンドポイントを作成できます。 デフォルトでは、JAX-RS エンドポイントは、サポートする HTTP 動詞に基づいてスコープを生成します。 特殊なアノテーションは、この動作をオーバーライドし、特定のスコープを登録します。
JSONWSサービスのスコープの作成
スコープを作成する最も一般的な方法は、プレフィックス OAUTH2_が付いた サービス アクセス ポリシー を作成することです。 この命名規則により、ポリシーはOAuthアプリケーションの設定画面にスコープとして表示されます。
たとえば、アプリケーションにユーザーのメールアドレスのプロフィール情報を取得するためのアクセス権を与えるには、
-
グローバル メニュー (
) を開き、 コントロール パネル → セキュリティ → サービス アクセス ポリシーに移動します。 -
[新規] をクリックし、以下の情報に従ってポリシーを作成します。
項目 値 名前 OAUTH2_ユーザープロファイル 有効 True デフォルト False タイトル 個人ユーザーデータを読み取りを許可 サービスクラス com.liferay.portal.kernel.service.UserServiceメッソド名 getCurrentUser
このポリシーはデフォルトのポリシーではなく、
UserServiceの1つのメソッドにのみアクセス権を付与することに注意してください。 これは、サービスビルダーによって生成されたJSONWS Webサービスです。 インストールで利用可能なすべてのサービスのリストは、次の URL で確認できます:http://[host]:[port]/api/jsonws/ -
グローバル メニュー (
) を開き、 コントロール パネル → セキュリティ → OAuth2 管理に移動します。 -
フラグメントレンダラーを選択します。
ポリシーを作成し、プレフィックスとして
OAUTH2_を付ける場合、そのポリシーは スコープ タブに表示されます。![適切なプレフィックスを使用して名前が付けられたスコープが、アプリケーション設定の[Scopes]タブに表示されます。](https://resources.learn.liferay.com/images/dxp/latest/en/integration/headless-apis/using-liferay-as-a-headless-platform/using-oauth2/oauth2-scopes/images/02.png)
-
新しく作成されたスコープは、
PORTAL SERVICESの下にあります。 チェックボックスを選択し、 保存をクリックします。
個人ユーザーデータを読み取るという別のスコープもあります。 これは、Liferay に付属する数多くのすぐに使用できるスコープの 1 つです。
認証ページの作成
このステップはオプションです。 ユーザーは自分のアカウントへのアクセスを承認するためのインターフェイスを必要とし、1つは自動的に提供されます。 ただし、ページをカスタマイズしたい場合は、サイトに認証ページを作成できます。
-
グローバル メニュー (
) を開き、 コントロール パネル → インスタンス設定 → セキュリティ → OAuth 2 → 承認画面に移動します。この画面には、次のデフォルト値を持つ承認画面の URL フィールドが表示されます:
/?p_p_id=com_liferay_oauth2_provider_web_internal_portlet_OAuth2AuthorizePortlet&p_p_state=maximized。 内部ポートレットに相当します。
-
承認画面の希望の URL を設定します (例:
/authorize)。 -
サイトに移動し、 サイト メニュー (
) を開きます。 次に、 サイトビルダー → ページに移動します。 -
新規 をクリックし、 ページを選択します。
注Liferay DXP 7.3 以前の場合は、プライベートページを作成します。 認証されたユーザーのみがプライベート ページにアクセスできます。
-
[フルページアプリケーション]タイプを選択します。
-
ステップ2で設定したのと同じ名前をページに付けます。
-
追加をクリックします。
-
メニュー表示から非表示 チェックボックスをオンにします。 このページをサイトナビゲーションに表示させたくありません。
-
レイアウト セクションで、フル ページ アプリケーション ドロップダウンから アプリケーション承認リクエスト を選択します。
-
URL セクションで、フレンドリー URL が手順 2 で構成した URL と一致していることを確認します。
-
[保存]をクリックします。
デフォルトまたはカスタム UI を使用して認証プロセスを実行できるようになりました。