2016-05-04 26 views
1

我正在使用Box API並嘗試使用Box SDK進行集成,但遇到驗證錯誤。出於某種原因,我的智威湯遜權威性不斷失敗,我碰到這樣的:Python Box-SDK JWT Exp計算關閉?

BoxOAuthException: 
    Message: {"error":"invalid_grant","error_description":"Current date\/time MUST be before the expiration date\/time listed in the 'exp' claim"} 
    Status: 400 
    URL: https://api.box.com/oauth2/token 
    Method: POST 

我跑的命令是:

access_token = auth.authenticate_instance() 

回答

0

只需刪除時間戳。這裏是我的代碼看起來像JWT與框使用JavaScript JWT庫。

var token = jwt.sign({ 
 
    iss: tokenAPI, 
 
    sub: enterpriseID, 
 
    box_sub_type: "enterprise", 
 
    aud: "https://api.box.com/oauth2/token", 
 
    jti: sessionToken, 
 
    exp: expiringTime 
 
}, { key: privateKey, passphrase: secret }, { algorithm: 'RS256', noTimestamp: true });

希望幫助。

0

我會解釋你爲什麼看到這個錯誤,然後如何解決它。

當Box Python SDK爲訪問令牌生成請求時,它將使用當前UTC時間作爲此請求的一部分。如果本地計算機上的Unix時間和Box服務器不同步,您將看到exp聲明錯誤。

要修復此錯誤,請將計算機上的Unix時間更新爲match the Unix time from this site。然後重試您的請求以生成訪問令牌。