Auth0 Management APIを使用してユーザーのセッションを管理する

Auth0は要求間でユーザーの認証状態を維持するために、セッションを使用します。

Management APIエンドポイント

Management APIは、Auth0セッションレイヤーにあるユーザーセッションの内部に帯域外アクセスを提供し、セッションを強制終了するために削除メソッドを提供します。

セッションリソース

特定のセッションを表示または削除するには、以下のエンドポイントを使用できます。

名前 URL 必要なスコープ
Introspect a specific session by ID(特定のセッションをID別にイントロスペクトする) GET /api/v2/sessions/{sessionId} read:sessions
Delete a specific session by ID(特定のセッションをIDで削除する) DELETE /api/v2/sessions/{sessionId} delete:sessions

ユーザーリソース

特定のユーザーに対するすべてのセッションを一覧表示または削除するには、以下のエンドポイントを使用できます。

名前 URL 必要なスコープ
List sessions details of a user(ユーザーセッションの詳細を一覧表示する) GET /api/v2/users/{userId}/sessions read:sessions
Delete all user sessions(ユーザーのすべてのセッションを削除する) DELETE /api/v2/users/{userId}/sessions delete:sessions

セッションプロパティ

セッションエンドポイントは、セッションとその履歴に関する関連情報を返します。

フィード 説明
Session ID(セッションID) セッションIDは、Auth0テナントにおける永続的な識別子です。

セッションIDはIDトークンやログアウトトークンにあるsidクレームに対応しているため、それらを相互参照するのに使うことができます。
Relevant Time(関連時間) セッションの作成や認証が行われた日時、および有効期限です。
Device Information(デバイス情報) デバイスプロパティには、このAuth0セッションとのやり取りで使用されたユーザエージェント(ブラウザーなど)の詳細が含まれています。
認証情報 このセッションで認証に使用された方法についての要約が含まれています。

これらのフィールドの詳細については、Management APIのドキュメントを参照してください。

OIDCバックチャネルログアウトのイニシエーター

セッション削除イベントは、session-deletedイニシエーターを通してOIDCバックチャネルログアウトに接続されます。詳細については、「OIDCバックチャネルログアウトのイニシエーター」をお読みください。

セッションとリフレッシュトークン

セッションとリフレッシュトークンは、スムーズなユーザー認証とセキュリティを最適化するために連携しします。詳細については、Auth0ブログの「アプリケーションセッション管理のベストプラクティス」をお読みください。

リフレッシュトークンは、セッションが失効や削除された後、またはユーザーがログアウトした後もアクティブなままになります。Management APIを使用すると、独立してリフレッシュトークンを管理したり、セッションと連携して管理したりできます。

制限事項

セッション削除の操作は非同期で実行され、最終的には整合性が保たれます。

もっと詳しく