2016-05-16 178 views
2

我对node.js的'onceler包有问题。我想访问公共Bitkins API。我有2台服务器。免费的网络空间(cloud9-ide)和一台虚拟服务器。这是我的代码:Onceler给出错误的令牌(bitskins api)

var TOTP = require('onceler').TOTP; 
var totp = new TOTP('SECRET_CODE'); 
console.log(totp.at()); 

我在我的免费网站空间CLOUD9运行此,我得到我正确的令牌,我可以用它来获得访问bitskins的公共API。

现在,我在我的服务器上运行完全相同相同的代码,我也得到只有错误标记,所有的时间。两个服务器都使用相同的一次性包(0.0.5),但它们给了我不同的令牌。可能是什么原因?

我试着更新软件包,或者导入我的cloud9服务器的软件包。但没有任何变化。

回答

0

使用totp.now()而不是totp.at()。 totp.at需要一个你想要生成otp的时间的参数。

另一种方式来处理,这是使用非法经营:

var speakeasy = require("speakeasy"); 
var token = speakeasy.totp({ 
    secret: config.get("bitSkins").otpCode, 
    encoding: 'base32' 
}); 
console.log(token); 
0

您将需要同步设备的时钟。

Ubuntu的实施例:

$ sudo apt-get install ntp -y 
相关问题