本記事では、Gluegent GateからBoxへの連携(ID同期)実行時に、システムログへ 「Getting OAuth token failed…」 というエラーが出力されて連携に失敗する場合の原因と、その解決手順について解説します。
対象となるエラーログ:
Gluegent GateからBoxへのユーザー同期(追加・変更・削除)を行った際、システムログに以下のエラーが出力される場合があります。
Getting OAuth token failed: {"error":"invalid_grant","error_description":"Invalid refresh token"}
原因:
このエラーは、Gluegent GateがBoxのAPIへ接続するために保持している認証情報(リフレッシュトークン)が、有効期限切れ等の理由により無効化されていることを示しています。
Boxの仕様上、API接続用のリフレッシュトークンには以下の有効期限ルールが設けられています。
60日間の非活動期間(Inactivity Timeout)
トークンが発行(または更新)されてから、一度も使用されないまま60日間が経過すると、そのトークンは自動的に失効します 。
Gluegent GateからBoxへのID同期処理(ユーザーの追加・更新・削除など)が60日以上行われなかった場合、この「非活動期間」のルールが適用され、接続が切断された状態となります。
対処方法:
認証トークンの再取得を行うことで接続が復旧します。以下の手順にて、Gluegent Gate管理画面から操作を行ってください。
手順:
1. Gluegent Gate の管理画面にアクセスします。
2. 左メニューの「シングルサインオン」→「クラウドサービス」の順にクリックします。
3. 一覧の「Box」の操作アイコンをクリックします。
4. Box に対するシングルサインオン設定が表示されます。
5. 画面下部の「トークン取得」をクリックします。この際、Box の画面にリダイレクトされます。
6. Box の管理者アカウントでログインしてください。
7. 「Boxへのアクセスを許可」をクリックします。
8. トークンの取得に成功した表示を確認して「閉じる」をクリックします。
9. Gluegent Gateの管理画面にもどりますので、「保存」をクリックし、シングルサインオン設定を保存します。
手順は以上です。再度ID同期処理を実行し、エラーが解消されているかご確認ください。
情報:
通常、「トークン取得」はBox連携の初期設定時に一度だけ行う操作です。
しかし、長期間(60日以上)ID同期が発生しない運用環境や、テスト環境などで本エラーが発生した場合は、上記の手順で再接続を行う必要があります。
これを防ぐため変更がない場合でも、60日以内に定期的なユーザーを更新するなど、同期処理が発生するような運用をご検討いただくことも有効です。