跳到主要内容

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 持久性:玩家每个产品只有一个会话。会话 ID 在权限更改期间保持不变,但如果会话被撤销并再次完成同意流程,则会创建新的会话 ID。
  • 会话删除行为:已删除的会话返回 HTTP 400,错误代码为 NOT_FOUND(不是 404)。这是有意的—已删除的会话应被视为从未存在过。
  • 年龄升级更改:年龄升级事件不会触发 Webhook 通知。您必须使用会话比较来检测这些更改。

权限文档

权限概念页面已增强,包含:

  • managedBy 字段更改:明确说明 managedBy 可能随时间变化(例如,当玩家年龄增长时从 GUARDIAN 变为 PLAYER)。
  • 玩家管理的权限:当玩家通过 /session/upgrade API 请求启用 PLAYER 管理的权限时,它会自动启用而不会创建挑战。
  • 权限升级内容:权限升级文档已合并到权限页面,以便更好地发现。

更改内容

合并的文档

  • 权限升级概念页面已合并到权限页面。所有引用已更新为指向新位置。

后续步骤

  • 查看新的管理会话和权限指南
  • 确保您的集成正确处理会话删除(HTTP 400,错误代码为 NOT_FOUND

如果您对这些更新有任何疑问或需要集成方面的帮助,请随时联系我们的支持团队。