OAuth 2.0 リフレッシュ トークンを取得できない場合
OAuth 2.0 経由で外部システム連携を構成しているときに、アプリケーション ログで次のようなエラーが返される場合があります。
Error occurred while authorizing an integration. The error message is: Refresh token is not present and access token lifetime is too short.
アトラシアンの DC アプリケーションでは、Long-Lived のアクセス トークンか、リフレッシュ トークンと組み合わされた Short-Lived アクセス トークンが期待されます。これは、サードパーティのリソース サーバーとの継続的な認証のために利用されます。エラー メッセージによると、OAuth サーバーによってこれらがいずれも提供されていません。リフレッシュ トークンが発行されていない理由は、OAuth プロバイダーやそのプロトコルのカスタム実装に応じる可能性があります。
問題のトラブルシューティング方法について以降をご確認ください。
Google との接続のトラブルシューティング
OAuth 2.0 経由でアトラシアン製品を Google サービスに接続する際には、専用のプロバイダー タイプを利用するようにしてください。
この理由として、Google の認証サーバーでは特定の認証パラメーターが要求され、サーバーでリフレッシュ トークンを発行するにはこの利用が必須であるためです。
これらのパラメーターや値は Google が OAuth 2.0 ベンダーとして振る舞う際に固有のものであるため、カスタム プロバイダー タイプでは送信されません。
Microsoft との接続のトラブルシューティング
OAuth 2.0 経由でアトラシアン製品を Microsoft のアイデンティティ プラットフォームに接続する際、サーバーでリフレッシュ トークンを発行するには認証リクエストでカスタム スコープ offline_access
を利用する必要があります。
このスコープは、連携の構成時にプロバイダーとして "Microsoft" を選択すると自動的に適用されます。
他のプロバイダーとの接続のトラブルシューティング
Microsoft のアイデンティティ プラットフォームと同様、課題のリフレッシュ トークンの発行に offline_access
スコープを要求するプロバイダーがほかにもあります。このスコープを追加して連携をテストし、問題が解決されるかどうかをご確認ください。
OAuth サーバーでリフレッシュ トークンが発行されない場合、アトラシアン製品側でシステム プロパティ atlassian.oauth2.client.minimum.access.token.only.lifetime.days
を利用して、アクセス トークンの最小要求寿命を調整できます。この値は日単位で構成可能で、デフォルトは 30 です。
さらなるサポート
残念ながら、OAuth 2.0 の導入方法はベンダーごとに異なります。どの標準にも含まれない特別な要件が提示される場合もあり、それによってカスタム ロジックを使わないと接続が困難になることがあります。このような場合、カスタム プロバイダー タイプを利用したシステム連携は困難になる場合があります。さらなるサポートが必要な場合は、アトラシアン サポートに問い合わせるか、Jira の Atlassian OAuth 2.0 プロジェクトで機能リクエストやバグ レポートを作成してください。