文档

支持

Cloud Code

身份验证

Authenticate Cloud Code requests with player identities.
阅读时间4 分钟最后更新于 3 天前

Cloud Code 仅接受经过身份验证的请求。 借助于身份验证,您可以使用玩家的身份来确保游戏中每次互动的安全性和一致性。 要向 Cloud Code 进行身份验证,您可以使用以下身份验证方法:

请求来源

身份验证方法

不受信任的客户端(玩家)使用 Unity Authentication 服务。
受信任的客户端(游戏服务器、集成测试、本地计算机)使用服务帐户身份验证或 Multiplay Hosting 身份验证。

对玩家进行身份验证

Unity Authentication 为玩家分配唯一标识符,并提供多种身份验证方法。 Cloud Code 脚本提供了一个
context
对象,其中包含一个
accessToken
属性。这个访问令牌便是用于对调用该脚本的玩家进行身份验证的 JWT
如需更多有关如何在脚本中使用
accessToken
的信息,请参阅访问令牌支持文档。

限制访问

如果要限制对特定脚本的访问,可以使用基于角色的访问控制 (RBAC) 规则。 通过这些规则,可以确保玩家无法运行特殊的脚本,例如向玩家授予额外资源的一次性支持脚本。如需了解更多信息,请参阅访问控制文档。

对受信任的客户端进行身份验证

对于服务帐户身份验证,Cloud Code Client API 和 Cloud Code Admin API 均可供使用。 因此,您可以通过多种方式使用 Cloud Code:
  • 从本地计算机编写脚本。
  • 从 CI/CD 管线编写和运行脚本。
  • 从游戏服务器运行脚本。
  • 在集成测试中运行脚本。
您可以将服务帐户用于持有者 (JWT) 身份验证和基本身份验证。如需了解更多信息,请查看服务帐户身份验证文档。

Cloud Code Admin API(基本身份验证)

要访问 Cloud Code Admin API,请使用基本身份验证 要直接使用服务帐户凭据,请对
<KEY_ID>:<SECRET_KEY>
进行 base64 编码。您还需要向服务帐户授予适当的权限。如需详细了解 Cloud Code 中的权限和角色,请参阅下表。

Cloud Code Client API(持有者身份验证)

要访问 Cloud Code Client API,请使用持有者身份验证和 Token Exchange API 来获取有限生命周期的无状态令牌。 要在令牌过期时刷新令牌,可以使用相同的 API。 Cloud Code 脚本提供了一个
context
对象,其中包含一个
serviceToken
属性。
serviceToken
属性是一个可用于以 Cloud Code 身份进行身份验证并访问跨玩家数据的 JWT。例如,可以使用此令牌调用 Cloud Save 以代表其他玩家保存数据。
如需更多有关如何在脚本中使用
serviceToken
的信息,请参阅服务令牌支持文档。

向 Multiplay Hosting 进行身份验证

Multiplay Hosting 还支持另一种使用服务器生成的 JWT 的身份验证方法。如需了解更多信息,请查看如何从 Unity 游戏服务器 (Multiplay) 进行调用