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 の認証サーバーでは特定の認証パラメーターが要求され、サーバーでリフレッシュ トークンを発行するにはこの利用が必須であるためです。

クリックして技術的な詳細を確認...

まず、OAuth リクエストの prompt ヘッダーに値 consent が必要です。なお、カスタム プロバイダー タイプで利用されるデフォルト値は select_account です。次に、カスタム パラメーター access_type が値 offline に設定される必要があります。


これらのパラメーターや値は 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 プロジェクトで機能リクエストやバグ レポートを作成してください。

最終更新日 2020 年 7 月 9 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.