2016-05-16 29 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 
相關問題