AEMでサーバー間認証を使用する際の OAuth 401 エラー

JWT 認証から OAuth サーバー間認証に切り替えると、AEM as a Cloud Serviceで「401 Unauthorized」エラーが発生する場合があります。 この記事では、OAuth 資格情報、トークンの有効性、エンドポイント設定を検証して修正方法を説明します。

説明 description

環境

Adobe Experience Manager as a Cloud Service(AEMaaCS) - Sites

問題/症状

クライアント資格情報フローを通じて生成された OAuth 2.0 アクセストークンを使用してAEM Cloud URL にアクセスすると、401 Unauthorized エラーが表示されてリクエストが失敗します。 これは、通常、JWT ベースの認証から OAuth サーバー間認証に移行する際に発生します。

解決策 resolution

AEMで OAuth サーバー間認証を使用する際に発生した 401 Unauthorized エラーを解決するには、次の手順に従います。

  1. リクエストのクライアント ID とシークレットが正しいこと、および OAuth 資格情報に、Adobe Developer Consoleで設定された適切な範囲が含まれていることを確認してください。
  2. アクセストークンが正しく生成され、有効期限が切れていないことを確認します。 必要に応じて、新しいトークンを生成します。
  3. AEM インスタンスに対して正しい API エンドポイントを使用していることを確認します。
  4. 次のように、HTTP リクエストに authorization ヘッダーを追加します。Authorization: Bearer <access_token>
  5. IP 許可リストへの登録やファイアウォールルールなど、リクエストをブロックする可能性のあるセキュリティ設定を確認します。
  6. Adobe Developer Consoleを引き続き使用する場合は、AEM Developer Consoleへの切り替えを検討してください。 JWT と OAuth の両方をサポートしており、IMS クライアント統合が事前設定されています。
  7. HTTP リクエストのログを有効にして、リクエストのヘッダーと応答を取得します。 これはデバッグに役立ちます。

詳しくは、Adobeの公式ドキュメントの ​ アクセストークンの生成 ​ および ​ サーバー間認証 ​ 設定を参照してください。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f