繁体   English   中英

如何在我的Node.js服务器上对GKLocalPlayer进行身份验证

[英]How to authenticate the GKLocalPlayer on my Node.js server

Apple的doc中,generateIdentityVerificationSignatureWithCompletionHandler要将您连接到数据缓冲区中的4个参数,其中之一是“ Big-Endian UInt-64格式的timestamp参数”,然后生成SHA-1哈希值以进行验证。

有人在Node.js / Javascript中成功完成此任务吗? 我遇到的主要问题是Javascript / Node.js似乎不支持64位无符号大端整数。 它似乎最大为32位(无符号)。

PS:我知道以下相关问题,但是它们不能解决此特定的javascript问题。

  1. 如何在“第三方服务器”上验证GKLocalPlayer? :解决方案适用于ruby,python和obj-c; 所有这些都支持在时间戳中生成64位BE十六进制。
  2. 如何从第三方node.js服务器对Game Center用户进行身份验证 :该代码依赖于客户端以十六进制字符串的形式向服务器发送时间戳(请参见json.hexTimestamp周围的json.hexTimestamp )。

甚至有可能在javascript中可靠地创建64位无符号大字节序的十六进制表示吗? 我正在考虑通过Node.js执行ruby / python作为一种可能的解决方法。

更简单的方法是使用ref

var ref = require('ref');

var buf = ref.alloc('uint64');
ref.writeUInt64BE(buf, 0, '1401893400733');

之后,您可以使用缓冲区更新验证程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM