2016-05-04 12 views
1

私はBox APIを使用しており、Box SDKを使用して統合しようとしていますが、認証エラーが発生しています。私のJWTの認証が失敗し続ける何らかの理由で、私はこれに実行します。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

ジャストタイムスタンプを削除します。 JavaScript JWTライブラリを使用している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時間が使用されます。あなたのローカルマシンとBoxサーバーのUnix時間が同期していない場合は、エクスペリメントクレームエラーが表示されます。

このエラーを修正するには、マシンのUNIX時間をmatch the Unix time from this siteに更新します。次に、アクセストークンの生成要求を再試行します。

関連する問題