0

我们正在将我们的 Unity3D 游戏移植到 Xbox One 创作者计划中,并且我们正在考虑如何将我们自己的登录系统与 Xbox Live 集成。

我们目前(在独立 PC 版本中)使用我们自己的书面登录机制和由专有服务器应用程序支持的帐户管理系统。注册是强制性的,因为这是一个多人游戏。注册时,步骤用户需要填写注册表格,并选择昵称、邮件地址和密码。当然,在 Xbox One 上,我们希望避免此步骤并利用现有用户的 Xbox Live 帐户。

在 Xbox Live SDK 中,我们在用户登录后获得XboxLiveUser对象,我们将使用XboxUserId属性作为唯一标识系统中用户的一种方式。但是我们如何授权他呢?我们知道XboxUserId可轻松用于所有其他游戏甚至其他用户,我们需要一些秘密密码,我们将使用它来进行身份验证。有没有办法让每个 Xbox Live 用户的每个应用程序都有唯一的哈希值?

我们看到Xb​​oxLiveUser具有GetTokenAndSignatureAsync方法,该方法返回包含XboxUserHash属性的GetTokenAndSignatureResult对象。将此字符串用作密码是否安全?

4

1 回答 1

2

方法返回的XboxUserHash属性GetToken*不能用作用户标识符。每次用户使用 Xbox Live 进行身份验证时,它都可能会发生变化。

截至 2017 年 11 月,Xbox 创意者计划游戏无法在非 XboxLive 服务上对 Xbox Live 用户进行身份验证。您能做的最好的事情是让您的游戏客户端验证用户是否可以通过 Xbox Live 进行身份验证,并获得与他们用于通过您的服务进行身份验证的 XboxUserId 相同的 XboxUserId。

于 2017-11-22T22:02:25.667 回答