身份验证方法
Unity 身份验证支持以匿名方式和通过外部身份提供者(包括 Google Play 游戏、Facebook、Apple、Steam、OpenID Connect 和特定于控制台的登录)验证玩家身份。
匿名身份验证
匿名身份验证类似于访客登录。它不需要玩家输入凭据或创建玩家资料。要在您的应用程序中实现匿名身份验证,请对 Unity 身份验证进行 API 调用。该服务将创建 PlayerID 和关联的会话令牌。有关更多信息,请参阅 如何使用匿名登录。
此方法为玩家在游戏中提供了最低的摩擦,因为它不需要玩家输入。但是,匿名身份验证不可跨设备移植,因为无法从其他设备重新验证玩家。要从不同设备登录到同一游戏并使用相同的玩家资料,玩家必须使用外部身份提供者。
Note: Anonymous authentication is a way to describe the process of authenticating the player without collecting or using their personally identifiable information.
平台特定/第三方身份验证
平台特定身份验证(也称为第三方身份验证或外部身份验证)使用外部身份提供者。这意味着您必须创建身份提供者配置,以便 Unity 身份验证可以验证玩家,从而使其能够从多个设备验证同一玩家。
通常,该过程从玩家通过电子邮件地址或用户名和密码登录外部身份提供者开始。当玩家登录时,令牌将被发送到 Unity 身份验证以进行验证。如果令牌被外部身份提供者成功验证,则该令牌将与 PlayerID 相关联。
注意: 以下内容涉及由 Unity 未开发、拥有或运营的产品或服务(统称为“第三方产品”)。这些信息可能不是最新的或完整的,仅供您参考之用。您对任何第三方产品的访问和使用完全受该第三方产品的条款和条件的约束。Unity 对此类第三方产品不作任何明示或暗示的陈述或保证,也不对因您使用此类第三方产品而造成的任何实际或声称的损害或损失负责(包括因任何第三方产品提供者提供的任何内容、广告、产品或其他材料而造成的损害或损失)。
以下列出了 Unity 身份验证对这些外部身份提供者的支持方式
- Unity 玩家帐户: 玩家使用其 Unity 玩家帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)将跨设备保持一致。您必须使用 Unity 玩家帐户客户端 ID 为游戏配置 Unity 身份验证的身份提供者,以启用 Unity 玩家帐户作为 ID 提供者。参阅 Unity 玩家帐户登录。
- Google: 玩家使用其 Google 帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)可以在 Android 设备之间保持一致。您必须使用 OAuth 客户端 ID 为游戏配置 Unity 身份验证的身份提供者,以启用 Google 作为外部 ID 提供者。参阅 Google 登录。
- Google Play 游戏: 玩家使用其 Google Play 游戏帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)可以在 Android 设备之间保持一致。您必须使用 OAuth 客户端 ID 为游戏配置 Unity 身份验证的身份提供者,以启用 Google 作为外部 ID 提供者。参阅 Google Play 游戏登录。
- Facebook: 玩家使用其 Facebook 帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)将跨设备保持一致。您必须使用 Facebook 应用程序 ID 和 Facebook 应用程序密钥为游戏配置 Unity 身份验证的身份提供者,以启用 Facebook 作为外部 ID 提供者。Unity 身份验证仅接受来自 Facebook 的 USER 令牌类型进行身份验证。参阅 Facebook 登录。
- Apple: 玩家在 iOS 设备上使用其 Apple 帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)在 Apple 设备之间保持一致。您必须使用 OAuth 客户端 ID 为游戏配置 Unity 身份验证的身份提供者,以启用 Apple 作为外部 ID 提供者。参阅 Apple 登录。
- Steam: 玩家使用其 Steam 帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)将跨设备保持一致。您必须使用 Steam 应用程序 ID 和 Steam API 密钥为游戏配置 Unity 身份验证的身份提供者,以启用 Steam 作为外部 ID 提供者。参阅 Steam 登录。
- Oculus (Meta Quest): 玩家使用其 Oculus 帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)将跨设备保持一致。您必须使用 Oculus 应用程序 ID 和客户端密钥为游戏配置 Unity 身份验证的身份提供者,以启用 Oculus 作为外部 ID 提供者。参阅 Oculus 登录。
- Apple Game Center: 玩家使用其 Apple Game Center 帐户凭据进行身份验证。如果玩家使用相同的帐户进行身份验证,则其体验(和 Player ID)在设备之间保持一致。您必须使用 Apple Bundle ID 为游戏配置 Unity 身份验证的身份提供者,以启用 Apple Game Center 作为外部 ID 提供者。参阅 Apple Game Center 登录。
自定义身份验证
您可以将您自己的自定义身份验证解决方案与 Unity 身份验证集成。为此,您必须为您的自定义身份验证系统创建身份提供者配置,以便 Unity 身份验证可以验证玩家。这将使其能够从多个设备验证同一玩家。
Unity 身份验证支持通过 OpenID Connect 协议使用自定义 ID 提供者验证玩家身份,并使用您自己的游戏服务器执行自定义 ID 身份验证(参阅 自定义 ID 登录)。
游戏启动时,Unity 身份验证会检查是否有有效的持久会话。如果没有,游戏开发者可以为玩家提供登录选项。选项取决于游戏运行的平台。在验证玩家后,游戏会指示是否可以将匿名玩家链接到外部 ID 提供商,或者将匿名玩家与外部 ID 提供商解除链接。
Note: Unity supports console-specific logins for Xbox®, and PlayStation® Network (PSN). For more details, contact us through the Unity support portal.