2016-09-21 8 views
1

Box APIで認証するためにJWTを使用しています.OAuth2の場合と同じように、ユーザーが資格情報で明示的にログインしないようにしたいからです。有効なユーザーアクセストークンを使用してBox APIを呼び出す

私の問題は、ユーザーアクセストークンが60秒間有効であるということです。

これは、Box APIにリクエストするたびに(特定のファイルを見つけるためにいくつかのフォルダを繰り返して)、新しいユーザーアクセストークンを依頼して、それが有効であることを確認する必要があるということですか?

JWTにリフレッシュトークンがないので、これが唯一の解決策だと思いますか?

60秒は非常に短い時間です。私は各リクエストの時間を追跡する必要はないので、他の唯一の選択肢は各APIリクエストのトークンを再作成する必要があるように思われるからです。これはばかげているようだ。

答えて

1

私の問題は、ユーザーアクセストークンが60秒間有効であるということです。

ボックスJWTアクセストークンは、およそ6に有効です。 JWTアクセストークンを取得すると、expires_inプロパティはトークンの有効期間を秒単位で表示します。以下の例では、トークンの有効期限は4169秒(約69分)です。私はしたくない

{ 
    "access_token": "mNr1FrCvOeWiGnwLL0OcTL0Lux5jbyBa", 
    "expires_in": 4169, 
    "restricted_to": [], 
    "token_type": "bearer" 
} 

は、各リクエストの時間を追跡するために持っているので、唯一の他のオプションは、各APIリクエストのためのトークンを再作成する必要があるようです。

時間切れを追跡する代わりに、401応答を受信して​​から新しいアクセストークンを取得し、最後に失敗した要求を再試行するまでAPI要求を行うことができます。どちらのオプションもコーディングの労力が必要です。幸いにも、SDKの中にはあなたのためにすべてのことを行うものがあります。

関連する問題