メインコンテンツまでスキップ

OIDC / OAuth アプリケーションの権限管理

自サービスが所有していないサードパーティアプリケーションは、Logto とアイデンティティプロバイダーとして連携し、ユーザーを認証 (Authentication) します。これらのアプリは通常、外部サービスプロバイダーによるものであり、ユーザーデータを保護するために慎重な権限管理が必要です。

Logto では、サードパーティアプリケーションに付与する特定の権限を制御できます。これには、ユーザープロファイルAPI リソース組織スコープ の管理が含まれます。ファーストパーティアプリとは異なり、サードパーティアプリが許可されていないスコープをリクエストした場合はアクセスが拒否されます。

特定のスコープを有効にすることで、サードパーティアプリがアクセスできるユーザー情報を決定できます。ユーザーは同意画面でこれらの権限を確認し、承認した上でアクセスを許可します。

OIDC サードパーティアプリケーションの権限を管理する

OIDC サードパーティアプリケーションの コンソール > アプリケーション > アプリケーション詳細ページ に移動し、権限 タブを開いて 権限を追加 ボタンをクリックすることで、サードパーティアプリケーションの権限を管理できます。

サードパーティアプリのリクエストには、基本的なユーザーデータが常に必要です。さらに、Logto は組織リソースの割り当てもサポートしており、B2B サービスに最適です。

ユーザーデータの権限を付与する

ユーザープロファイル権限(例:メールアドレス、名前、アバター)や API リソース権限(例:特定リソースへの読み取り/書き込みアクセス)など、ユーザーレベルの権限を割り当てます。

リクエストされたリソース名(例:個人ユーザーデータ、API 名)や具体的な権限の説明(例:メールアドレス)は、同意画面に表示され、ユーザーが確認できます。

承認 ボタンをクリックすることで、ユーザーは指定された権限をサードパーティアプリケーションに付与することに同意します。

grant permissions of user data

組織データの権限を付与する

組織権限API リソース権限 など、組織レベルの権限を割り当てます。Logto では、API リソースを特定の組織ロールに割り当てることができます。

同意画面では、組織データはユーザーデータとは別に表示されます。認可 (Authorization) フロー中、ユーザーはアクセスを許可する特定の組織を選択する必要があります。ユーザーは確認前に組織を切り替えることも可能です。サードパーティアプリケーションは、選択された組織のデータと関連する権限のみアクセスできます。

grant permissions of organization data

権限の種類

ユーザー権限(ユーザープロファイルスコープ)

これらの権限は OIDC 標準および Logto の基本的なユーザープロファイルスコープであり、ユーザーのクレーム (Claims) へアクセスするために使用されます。ユーザークレーム (Claims) は、ID トークンおよび userinfo エンドポイントで返されます。

  • profile: OIDC 標準スコープ。ユーザー名やアバターへのアクセスに使用。
  • email: OIDC 標準スコープ。ユーザーのメールアドレスへのアクセスに使用。
  • phone: OIDC 標準スコープ。ユーザーの電話番号へのアクセスに使用。
  • custom_data: Logto ユーザープロファイルスコープ。ユーザーのカスタムデータ へのアクセスに使用。
  • identity: Logto ユーザープロファイルスコープ。ユーザーが連携した ソーシャルアイデンティティ 情報へのアクセスに使用。
  • role: Logto ユーザープロファイルスコープ。ユーザーの ロール 情報へのアクセスに使用。
  • urn:logto:scope:organizations: Logto ユーザー組織スコープ。ユーザーの組織情報へのアクセスに使用。サードパーティアプリケーションが有効化しリクエストした場合、同意画面に組織セレクターが表示されます。これにより、ユーザーはアクセスを許可する組織を確認・選択できます。詳細は 組織 を参照してください。
  • urn:logto:scope:organization_roles: Logto ユーザー組織スコープ。ユーザーの組織ロール情報へのアクセスに使用。
警告:

認可 (Authorization) リクエストで有効化されていないユーザープロファイルスコープをリクエストするとエラーになります。

API リソース権限(API リソーススコープ)

Logto は API リソースに対してロールベースのアクセス制御 (RBAC) を提供します。API リソースは自サービスが所有し、Logto によって保護されるリソースです。サードパーティアプリケーションに独自定義の API スコープを割り当てて、API リソースへのアクセスを許可できます。詳細は RBAC、組織テンプレート、および API 保護 を参照してください。

API リソーススコープは コンソール > API リソース で作成・管理できます。

警告:

サードパーティアプリケーションに有効化されていない API リソーススコープは、認可 (Authorization) リクエスト時に無視されます。ユーザー同意画面にも表示されず、Logto によって付与されません。

組織権限(組織スコープ)

組織権限 は、Logto 組織専用に定義されたスコープです。組織情報やリソースへのアクセスに使用されます。

注記:

Logto 組織権限を利用するには、urn:logto:scope:organizations ユーザースコープを有効にする必要があります。これが有効でない場合、認可 (Authorization) リクエスト時に組織権限は無視されます。

組織テンプレート設定ページで独自の組織スコープを定義できます。詳細は 組織テンプレートの設定 を参照してください。

警告:

サードパーティアプリケーションに有効化されていない組織スコープは、認可 (Authorization) リクエスト時に無視されます。ユーザー同意画面にも表示されず、Logto によって付与されません。