0

Web アプリケーションを Box.com と統合するために Box Api v2 (Java) を使用しています。

ユーザーを認証 URL に転送します

https://www.box.com/api/oauth2/authorize?response_type=code&client_id=client-id

..リダイレクト エンドポイントで「コード」を受け取ります。このコードを使用して、access_token と refresh_token を取得できます。access_token が 1 時間だけ有効であることはわかっています。

しかし、この 3600 秒以内に access_token を再利用できますか? 例: ユーザーが 30 分以内に戻ってきて、ファイルのフェッチ/プットを試みます。

このシナリオでは、新しい BoxClient を作成する必要があります。では、既存のアクセス トークンを使用したクライアント認証の推奨される方法は何ですか?

回答者がボックスの Java API を使用してコード スニペットを貼り付けることができれば、非常に役立ちます。

それとも、利用可能な唯一の方法である新しい access_token と refresh_token を取得するためのリフレッシュですか?

BoxClient client = new BoxClient(MY_CLIENT_ID, MY_CLIENT_SECRET);BoxOAuthManager mgr  = client.getOAuthManager();
  // This is refresh
BoxOAuthRequestObject requestObject = BoxOAuthRequestObject.refreshOAuthRequestObject(REFRESH_TOKEN, MY_CLIENT_ID, MY_CLIENT_SECRET);
BoxOAuthToken newToken = mgr.refreshOAuth(requestObject);
client.authenticate(newToken);
4

2 に答える 2

0

はい、3600 秒以内であればアクセス トークンを再利用できます。Web アプリケーションの一般的なパターンは、ユーザーに関連付けられたデータベース レコードに access_tokenand (およびオプションでそれらの有効期限) を格納することです。refresh_token

既存のアクセス トークンを使用したクライアント認証の推奨される方法は何ですか?

最初にアクセス トークンを取得したときと同じ認証方法を使用します。再利用するために特別なことをする必要はありません。の有効期限が切れている場合はaccess_token、有効期限のタイムスタンプの比較または 401 応答によって判断され、 を使用しrefresh_tokenて新しいトークン ペアを取得できます。この方法でトークン ペアを更新して永続化することにより、ユーザーの認証を無期限に維持できます。

于 2013-07-11T13:43:28.703 に答える