将自己的登录机制与Xbox Live集成



我们正在将Unity3D游戏移植到Xbox One Creators程序中,并考虑如何将我们自己的登录系统与Xbox Live集成。

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

在Xbox Live SDK中,有一个XboxLiveUser对象,我们在用户登录后会获得该对象,我们将使用XboxUserId属性来唯一识别系统中的用户。但我们怎么能授权他呢?我们知道XboxUserId对所有其他游戏甚至其他用户都很容易使用,我们需要一些秘密密码短语来进行身份验证。有没有办法为每个Xbox live用户获得每个应用程序的唯一哈希?

我们看到XboxLiveUser具有方法GetTokenAndSignatureAsync,该方法返回GetTokenAndSignatureResult对象,该对象包含XboxUserHash属性。将此字符串用作密码短语安全吗?

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

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

最新更新