OIDC / OAuth アプリケーションの権限管理
自サービスが所有していないサードパーティアプリケーションは、Logto とアイデンティティプロバイダーとして連携し、ユーザーを認証 (Authentication) します。これらのアプリは通常、外部サービスプロバイダーによるものであり、ユーザーデータを保護するために慎重な権限管理が必要です。
Logto では、サードパーティアプリケーションに付与する特定の権限を制御できます。これには、ユーザープロファイル、API リソース、組織スコープ の管理が含まれます。ファーストパーティアプリとは異なり、サードパーティアプリが許可されていないスコープをリクエストした場合はアクセスが拒否されます。
特定のスコープを有効にすることで、サードパーティアプリがアクセスできるユーザー情報を決定できます。ユーザーは同意画面でこれらの権限を確認し、承認した上でアクセスを許可します。
OIDC サードパーティアプリケーションの権限を管理する
OIDC サードパーティアプリケーションの コンソール > アプリケーション > アプリケーション詳細ページ に移動し、権限 タブを開いて 権限を追加 ボタンをクリックすることで、サードパーティアプリケーションの権限を管理できます。
サードパーティアプリのリクエストには、基本的なユーザーデータが常に必要です。さらに、Logto は組織リソースの割り当てもサポートしており、B2B サービスに最適です。
ユーザーデータの権限を付与する
ユーザープロファイル権限(例:メールアドレス、名前、アバター)や API リソース権限(例:特定リソースへの読み取り/書き込みアクセス)など、ユーザーレベルの権限を割り当てます。
リクエストされたリソース名(例:個人ユーザーデータ、API 名)や具体的な権限の説明(例:メールアドレス)は、同意画面に表示され、ユーザーが確認できます。
承認 ボタンをクリックすることで、ユーザーは指定された権限をサードパーティアプリケーションに付与することに同意します。

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

権限の種類
ユーザー権限(ユーザープロファイルスコープ)
これらの権限は 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 によって付与されません。