ユーザーセッションの管理
ユーザーセッション管理は、ユーザーと管理者がアクティブなサインイン状態を確認し、必要に応じてセッションを取り消すのに役立ちます。
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 セッション管理はアクセス前にユーザーの確認を必要とします。詳細は 確認レコード ID を取得する を参照してください。
Management API (管理者がユーザーセッションを取り消す)
管理者は、ユーザー ID とセッション ID を使用してターゲットユーザーのセッションを取り消すことができます。
- 参照セクション: ユーザーセッション管理
- エンドポイント:
DELETE /api/users/{userId}/sessions/{sessionId}
Admin Console
チームが Logto Console で直接ユーザーを管理する場合、アクティブなセッションを確認し、ユーザー詳細ページから特定のセッションを取り消すことができます。
- 参照セクション: ユーザーのアクティブセッションを管理する
関連リソース
セッション ユーザー承認アプリ (グラント) の管理Account API によるアカウント設定: ユーザーセッションの管理
Management API によるアカウント設定: ユーザーセッション管理
ユーザー管理: ユーザーのアクティブセッションを管理する