我对node.js'everler包有问题。我想访问公共的bitkins API。我有2台服务器。一个免费的网站空间(cloud9-ide)和一个虚拟服务器。这是我的代码:
var TOTP = require('onceler').TOTP;
var totp = new TOTP('SECRET_CODE');
console.log(totp.at());
我在免费的cloud9网站空间上运行了此代码,并获得了正确的令牌,可以使用该令牌访问bitkins的公共API。
现在,我在服务器上运行完全相同的代码,并且始终得到错误的令牌。两台服务器都使用相同的afterler软件包(0.0.5),但它们给了我不同的令牌。可能是什么原因?
我试图更新该软件包,或导入我的cloud9-server的软件包。但是什么都没有改变。
最佳答案
使用totp.now()而不是totp.at()。 totp.at接受您要生成otp的时间的参数。
解决此问题的另一种方法是使用talkeasy:
var speakeasy = require("speakeasy");
var token = speakeasy.totp({
secret: config.get("bitSkins").otpCode,
encoding: 'base32'
});
console.log(token);