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

ユーザー認可済みアプリ(グラント)の管理

アプリグラントは、特定のクライアントアプリケーションに対するユーザーの認可 (Authorization) 状態を表します。

ユーザーや管理者が認可済みアプリを確認し、Logto セッション全体を無効化せずにアプリへのアクセスを取り消す必要がある場合に、グラント管理を利用します。

グラントが取り消されると、それらのグラントに対して発行された不透明トークン (Opaque token) のアクセス トークン (Access token) およびリフレッシュ トークン (Refresh token) は無効化されます。JWT アクセス トークン (Access token) はステートレスなため、既に発行されたものは有効期限まで有効です。

適切な方法を選択する

シナリオ推奨される方法
サインイン中のユーザー自身がアプリ認可 (Authorization) を管理するAccount API
管理者やサポートチームが特定ユーザーのグラントを管理するManagement API
オペレーターが UI でサードパーティアプリの認可 (Authorization) を管理する管理コンソール

直接的なグラント管理 API

Account API(セルフサービス)

エンドユーザーのアカウント設定ページで Account API を利用します:

Management API(管理ツール)

管理ツールやサポート業務で Management API を利用します:

アプリ種別でグラント一覧をフィルタリング

グラント一覧取得エンドポイントは、オプションのクエリパラメーター appType をサポートしています:

  • appType=firstParty:ファーストパーティアプリのグラントのみを一覧表示。
  • appType=thirdParty:サードパーティアプリのグラントのみを一覧表示。
  • appType を省略:すべての有効なグラントを返します。

ダイナミックアプリ クライアントはサードパーティアプリケーションであるため、そのグラントは appType=thirdParty で返されます。クライアント ID の URL がアプリケーション ID として使用されます。

コンソールでサードパーティアプリの認可 (Authorization) を管理

Logto コンソールでは、ユーザー詳細ページから認可済みサードパーティアプリの確認および取り消しが可能です。

セッション取り消し時にグラントも取り消す

DELETE /api/my-account/sessions/{sessionId} でセッションを取り消す際、オプションのクエリパラメーター revokeGrantsTarget でグラントの取り消し範囲を制御できます:

  • all:セッションに関連付けられたすべてのアプリのグラントを取り消す。
  • firstParty:ファーストパーティアプリのグラントのみを取り消す。

セッションレベルの挙動やエンドポイントの詳細は、ユーザーセッションの管理 および サインアウト を参照してください。

セッション ユーザーセッションの管理

Account API によるアカウント設定:ユーザー認可済みアプリ(グラント)の管理

Management API によるアカウント設定:ユーザー認可済みアプリ(グラント)の管理