Beheben von Autorisierungsproblemen verschachtelter Adobe I/O-Web-Aktionen in AEMaaCS
In diesem Artikel wird das Problem behandelt, eine Adobe I/O-Web-Aktion innerhalb einer anderen Web-Aktion aufzurufen, wenn eine Autorisierung erforderlich ist. Das Problem tritt aufgrund von Konfigurationsbeschränkungen oder fehlenden Authentifizierungsdetails auf. Die Lösung umfasst die Anpassung von Konfigurationen und die Sicherstellung geeigneter Authentifizierungsmechanismen, um erfolgreiche verschachtelte Aufrufe zu ermöglichen.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
Problem/Symptome
Beim Aufrufen einer Adobe I/O-Web-Aktion aus einer anderen Web-Aktion schlägt der verschachtelte Aufruf fehl, wenn eine Autorisierung erforderlich ist. Dies geschieht aufgrund falscher Konfigurationseinstellungen oder fehlender Authentifizierungsdetails wie Token und Kopfzeilen.
Auflösung resolution
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
- Überprüfen Sie, ob die innere Web-Aktion nicht öffentlich aufrufbar sein muss.
require-adobe-authWenn die Konfigurationseinstellung nicht von „true“ in true geändert wird wird undwebauf *no gesetzt.*Dies macht sie zu einer reinen Worker-Aktion, auf die extern nicht zugegriffen werden kann. - Wenn die innere Web-Aktion geschützt bleiben muss und eine Adobe-Authentifizierung erfordert, stellen Sie sicher, dass der Code, der diese innere Aktion aufruft, geeignete Authentifizierungsdetails enthält.
- Fügen Sie wie
Bearer <token>ein gültiges JWT- oder OAuth-Token in dieAuthorization-Kopfzeile ein. Fügen Sie außerdem die Kopfzeilex-gw-ims-org-idmit der richtigen IMS-Organisations-ID) hinzu. - Stellen Sie sicher, dass Authentifizierungs-Token korrekt aus dem Adobe I/O-Kontext abgerufen und bei verschachtelten Aufrufen ordnungsgemäß weitergegeben werden, wenn Sie Aufrufe von AEM-Servlets oder Frontend-Komponenten ausführen.
Verwandtes Lesen
Weitere Informationen finden Sie im Abschnitt Adobe I/O Runtime-Aktion der AEM as a Cloud Service-Tutorials.