メインコンテンツに移動

3件の投稿件のタグ「sessions」を含む

すべてのタグを見る

/session/delete の新しいモードで必須プロダクトの依存関係を保護

/session/delete が、削除対象のセッションに依存する他のプロダクトを保護(またはまとめて削除)できるようになりました。

新機能

  • POST /session/deleteessentialDependencies あるプロダクトが他のプロダクトにとって*必須(essential)*として構成されている場合、そのセッションを削除すると、これまでは依存するプロダクトのセッションが、依拠していた同意の基盤を失ったまま静かに残されていました。新しいフィールドを使うと、デフォルトの取り消しと hardDelete の両方のパスで、代わりの動作を選択できます。
  • block は依存プロダクトを孤立させる代わりに削除を拒否します。 プレイヤーが削除対象のプロダクトに依存するアクティブなプロダクトをまだ保持している間、呼び出しは ESSENTIAL_DEPENDENTS_EXIST を返し、依存プロダクトのIDを明示します。有効化は不要です。
  • cascade は依存するセッションも削除し、その後に指定されたセッションを削除します。各セッションには独自のWebhookが送信され、ハード削除の場合は削除記録も個別に作成されます。指定していないセッションを削除するため、開発者ごとのオプトインです(有効化せずに送信すると FEATURE_DISABLED が返されます)。また、クライアントアクセストークンではなくサーバーサイドのAPIキーが必要です。
  • 既存のすべての呼び出しは影響を受けません。 フィールドを省略するか ignore を送信すると、/session/delete は従来どおりの動作を維持し、今後も変わりません。これはデフォルト変更の前段階ではなく、安定したオプトイン機能です。

ドキュメント

Permanently erase a session with a new flag on /session/delete

/session/delete can now permanently erase a session instead of only revoking it.

What's new

  • hardDelete on POST /session/delete. Set to true to permanently delete a player session and its embedded consent, scoped to the calling product. Unlike the default revoke (which is internally retained), this physically removes the record and can't be undone.
  • Opt-in per developer. Available only to developers explicitly enabled for hard delete. Setting hardDelete: true without enablement returns FEATURE_DISABLED.
  • Every existing call is unaffected. Omitting hardDelete, or setting it to false, behaves exactly as /session/delete always has: a reversible revoke.
  • In-flight challenges are failed too. Any pending challenge tied to that exact session is set to FAIL, scoped to that session only (other sessions for the same player are untouched).

Documentation

新しいセッションと権限ガイドおよびドキュメントの更新

セッションと権限を管理するための包括的なガイドを追加し、重要な説明を追加してコアコンセプトのドキュメントを更新しました。

新機能

新しいガイド: セッションと権限の管理

新しいクイックスタートガイドを追加しました: セッションと権限の管理。このガイドでは、次の手順を説明しています:

  • Webhookとセッション比較を使用した権限変更の検出
  • セッション削除と取り消しの処理
  • プレイヤーへの権限変更の通知
  • 権限アップグレードフローの実装
  • チャレンジがセッションとどのように関連するかの理解

このガイドは、親が設定を変更したり、プレイヤーが年齢アップしたりするなど、時間の経過とともに権限の変更に対応する必要がある統合に不可欠です。

ドキュメントの更新

セッションドキュメント

セッションコンセプトページに重要な説明を追加しました:

  • セッションIDの永続性: プレイヤーはプロダクトごとに正確に1つのセッションを持ちます。セッションIDは権限変更を通じて永続しますが、セッションが取り消され、同意フローが再度完了した場合は新しいセッションIDが作成されます。
  • セッション削除の動作: 削除されたセッションは、エラーコードNOT_FOUNDでHTTP 400を返します(404ではありません)。これは意図的なものです—削除されたセッションは、存在しなかったかのように扱う必要があります。
  • 年齢アップの変更: 年齢アップイベントはWebhook通知をトリガーしません。これらの変更を検出するには、セッション比較を使用する必要があります。

権限ドキュメント

権限コンセプトページを次の内容で強化しました:

  • managedByフィールドの変更: managedByは時間の経過とともに変更される可能性があることを明確にしました(たとえば、プレイヤーが年齢アップしたときにGUARDIANからPLAYERに)。
  • プレイヤー管理の権限: プレイヤーが/session/upgrade APIを介してPLAYER管理の権限を有効にすることをリクエストすると、Challengeを作成せずに自動的に有効になります。
  • 権限アップグレードのコンテンツ: 権限アップグレードのドキュメントを、より見つけやすくするために権限ページに統合しました。

変更内容

ドキュメントの統合

  • 権限アップグレードコンセプトページを権限ページに統合しました。すべての参照を新しい場所に更新しました。

次のステップ

  • 新しいセッションと権限の管理ガイドを確認してください
  • 統合がセッション削除を正しく処理していることを確認してください(NOT_FOUNDでHTTP 400)

これらの更新についてご質問がある場合や、統合に関するサポートが必要な場合は、サポートチームまでお気軽にお問い合わせください。