Skip to main content
匿名セッションを使用すると、認証なしでユーザーセッションを作成・管理できます。 ユーザーは、アカウントを作成する前に、閲覧、カートやほしいものリストへの商品の追加、購入の完了、設定の指定を行えます。サインアップまたはログインすると、それまでのアクティビティが認証済みプロファイルに引き継がれます。 匿名セッションは、次のユースケースで使用できます。
  • ページの読み込みやセッションをまたいでゲストユーザーを追跡する
  • ショッピングカートの参照情報、設定、同意、プロファイリング情報などのメタデータを保存する
  • 認証なしでAPI呼び出し用のアクセストークンを発行する
  • ユーザーがサインアップまたはログインした際に、匿名でのアクティビティを認証済みアカウントに移行する
Auth0の匿名セッションのメタデータは安全なデータストアではないため、機密情報の保存には使用しないでください。 これには、シークレットや社会保障番号、クレジットカード番号などの高リスクなPIIが含まれます。また、匿名セッションに保存されるデータは真実性や正確性が検証されていないため、鵜呑みにしないでください。Auth0のお客様には、メタデータに保存するデータを評価し、セッションのタグ付けおよびアクセス管理に必要なものだけを保存することを強く推奨します。 詳細については、Auth0 General Data Protection Regulation Complianceをお読みください。“

仕組み

匿名セッションのデータを収集する

まだ認証されていないユーザーも含め、ユーザーに関する情報の収集を開始すると、アプリケーションは /anonymous/token エンドポイントに POST リクエストを送信します。 Auth0 は2つのトークンを返します。 セッショントークンを含む後続の呼び出しでは、同じ user_id のセッションが継続されるため、すべてのアクティビティを単一の起点にたどることができます。 アクセストークンを使用すると、匿名ユーザーは既存の任意の API を呼び出せます。
Anonymous session data of user anon@1234-5678-90

匿名セッションのデータをユーザーのメタデータに移行する

匿名セッション中のユーザーがログインまたは新規登録する際、アプリケーションはCookieまたはHTTPヘッダーを使用して、anonymous_session_token/authorizeエンドポイントに渡します。
cookie example
authorize endpoint example
Auth0 では、pre-user-registration および post-login の Actions トリガーで、event.anonymous_session オブジェクトを通じて匿名セッションデータを利用できます。
anonymous session object
Actions を使用した匿名セッションについて詳しくは、匿名セッションのユースケースをご覧ください。

転送後に匿名セッションを終了する

ユーザーが認証されても、匿名セッションは自動的に無効化されません。セッションを終了するには、/anonymous/logout エンドポイントを使用します。

ベストプラクティス

匿名セッションに関するベストプラクティスは以下のとおりです。
  • ユーザーの匿名セッションデータが失われないよう、適切な匿名セッションの有効期間を設定します。Auth0では、30日以上の有効期間を推奨しています。
  • 攻撃者がセッションの内容を閲覧できないよう、匿名セッションのJSON Web Encryption (JWE) 暗号化を選択します。
  • 匿名のanon@ユーザーがAPIで実行できる操作を制限します。
  • トークンを検証し、メタデータをサニタイズします。サーバー側でバリデーションを行わずに、クライアントからのメタデータやトークンを決して信頼しないでください。
  • アクセストークンは有効期限まで再利用できるため、キャッシュします。
  • メタデータの更新はまとめて行い、最小限に抑えます。メタデータを頻繁に更新しないでください。

制限事項

詳細情報