LoginWithCustomID。
登录加密旨在在 title 创建后为所有玩家使用,或者完全不使用。这不是可以在以后启用的功能。你必须从一开始就使用它,或者完全不使用。特别是,已加密的玩家永远无法未加密登录,而未加密的玩家也永远无法成为已加密的玩家。
- 创建一个 player-shared secret。
- 引入一条 API 策略规则以对某个方法启用保护。
- 更改客户端以使用 player-shared 密钥检索公共 title 密钥并加密载荷。
PlayFab 提供以下免责声明:“我们所有的 API 调用已经使用现代标准安全加密,标准的 API 调用加密就是大多数客户所需的一切。此功能代表围绕使玩家更难使用未经授权的客户端构建的额外一层安全。它不是万无一失的——它只是提高了黑客的难度门槛。对于大多数开发者来说,轻微的安全提升不值得额外的努力。”
创建 player-shared secret
PlayFab Admin API 公开了一个方法来管理你的 player-shared secret。创建具有特定名称的新共享密钥将覆盖具有相同名称的现有密钥(如果有)。此外,你可以在不同名称下注册多个共享密钥。
QC953WQ3TU6ZJTZMAT1FNJQIKR92FPUQTISW4Q6WD8SY841MQQ
更新策略
我们创建了一个新的共享密钥。现在我们需要告诉 PlayFab 要保护哪些 API 调用。 运行下面所示的代码以保护LoginWithCustomId API 调用,并取消保护其余的 API 调用。
设置客户端
现在当策略更新后,你不再能够直接调用LoginWithCustomID API。请考虑下面显示的代码。
Not Authorized 错误(不要与 Not Authenticated 混淆)。
我们需要修改客户端以正确加密调用载荷。这分两步完成:
- 使用 player-shared secret 获取 title 公钥。
- 使用 title 公钥加密载荷。
