ユーザーセッションの管理
ユーザーセッション管理は、ユーザーや管理者がアクティブなサインイン状態を確認し、必要に応じてセッションを取り消すのに役立ちます。
Logto では、次の 3 つの一般的な方法でセッションを管理できます:
- Account API:プロダクトのアカウント設定ページでエンドユーザーがセルフサービスで利用。
- Management API:管理者やサポートツールが任意のユーザーのセッションを管理。
- Admin Console:カスタムツールを構築せずに Logto Console 内でオペレーターが操作。
適切な API の選択
| シナリオ | 推奨 API |
|---|---|
| サインイン中のユーザーが自分のアクティブセッションを管理 | Account API |
| 管理者やサポートチームがユーザーのセッションを管理 | Management API |
| オペレーターが Logto Console で直接セッションを管理 | Admin Console |
アクティブなセッションの確認
Account API(セルフサービス)
Account API のセッションエンドポイントを使用して、現在のユーザーのアクティブなセッションを一覧表示できます。
- 参考セクション:ユーザーセッションの管理
- エンドポイント:
GET /api/my-account/sessions
この機能をエンドユーザーに公開する前に、Account center 設定でセッション管理が有効になっていること、およびアプリが必要な Account API スコープをリクエストしていることを確認してください。
Management API(管理ツール)
管理システムで特定ユーザーのセッション一覧が必要な場合は Management API を利用します。
- 参考セクション:ユーザーセッション管理
- エンドポイント:
GET /api/users/{userId}/sessions - オプション詳細エンドポイント:
GET /api/users/{userId}/sessions/{sessionId}
セッションの取り消し
Account API(エンドユーザーが自身のセッションを取り消す)
エンドユーザーは自分のセッション一覧から特定のセッションを取り消すことができます。
- 参考セクション:ユーザーセッションの管理
- エンドポイント:
DELETE /api/my-account/sessions/{sessionId}
機密性の高い操作の場合、Account API のセッション管理はアクセス前に直近のユーザー認証 (Authentication) を要求します。詳細は ステップアップ認証 (Step-up authentication) を参照してください。
Management API(管理者がユーザーのセッションを取り消す)
管理者はユーザー ID とセッション ID を指定して、対象ユーザーのセッションを取り消すことができます。
- 参考セクション:ユーザーセッション管理
- エンドポイント:
DELETE /api/users/{userId}/sessions/{sessionId}
Admin Console
チームが Logto Console で直接ユーザーを管理している場合、ユーザー詳細ページからアクティブなセッションの確認や特定セッションの取り消しが可能です。
- 参考セクション:ユーザーのアクティブセッション管理
関連リソース
セッション ユーザー承認済みアプリ(グラント)の管理Account API によるアカウント設定:ユーザーセッションの管理
Management API によるアカウント設定:ユーザーセッション管理
ユーザー管理:ユーザーのアクティブセッション管理