AEM stellt eine Vielzahl von HTTP-Endpunkten bereit, mit denen per Headless interagiert werden kann, von GraphQL über Content Services bis hin zur Assets-HTTP-API. Häufig müssen sich diese Headless-Konsumenten bei AEM authentifizieren, um auf geschützte Inhalte oder Aktionen zugreifen zu können. Um dies zu erleichtern, unterstützt AEM die Token-basierte Authentifizierung von HTTP-Anforderungen von externen Anwendungen, Diensten oder Systemen.
In diesem Tutorial erfahren Sie, wie sich eine externe Anwendung programmgesteuert authentifizieren und mit AEM als Cloud Service über HTTP über Zugriffstoken interagieren kann.
Stellen Sie sicher, dass Folgendes vorhanden ist, bevor Sie mit diesem Tutorial fortfahren:
In diesem Tutorial wird eine einfache Node.js-Anwendung verwendet, die über die Befehlszeile ausgeführt wird, um Asset-Metadaten in AEM als Cloud Service mithilfe der Assets-HTTP-API zu aktualisieren.
Die Node.js-Anwendung wird wie folgt ausgeführt:
Die Node.js-Anwendung wird über die Befehlszeile aufgerufen
Befehlszeilenparameter definieren:
aem
)folder
)propertyName
und propertyValue
)file
).Das Zugriffstoken, das für die Authentifizierung bei AEM verwendet wird, wird von der JSON-Datei abgeleitet, die über den Befehlszeilenparameter file
bereitgestellt wird.
a. Wenn für die nicht lokale Entwicklung verwendete Service-Anmeldeinformationen in der JSON-Datei (file
) angegeben sind, wird das Zugriffstoken von den Adobe IMS-APIs abgerufen.
Das Programm verwendet das Zugriffstoken, um auf AEM zuzugreifen und alle Assets im Ordner aufzulisten, der im Befehlszeilenparameter folder
angegeben ist.
Für jedes Asset im Ordner aktualisiert das Programm seine Metadaten anhand des Eigenschaftsnamens und -werts, der in den Befehlszeilenparametern propertyName
und propertyValue
angegeben ist.
Während diese Beispielanwendung Node.js ist, können diese Interaktionen mit verschiedenen Programmiersprachen entwickelt und von anderen externen Systemen ausgeführt werden.
Lokale Entwicklungs-Zugriffstoken werden für eine bestimmte AEM als Cloud Service-Umgebung generiert und bieten Zugriff auf Autoren- und Veröffentlichungsdienste. Diese Zugriffstoken sind temporär und dürfen nur bei der Entwicklung externer Anwendungen oder Systeme verwendet werden, die mit AEM über HTTP interagieren. Anstatt dass Entwickler Anmeldeinformationen für Dienste abrufen und verwalten müssen, können sie schnell und einfach ein temporäres Zugriffstoken erstellen, das ihnen die Entwicklung ihrer Integration ermöglicht.
Service Credentials sind die Anmeldeinformationen, die in allen Nicht-Entwicklungs-Szenarien verwendet werden - am offensichtlichsten in der Produktion -, die es einer externen Anwendung oder dem System ermöglichen, sich über HTTP AEM als Cloud Service zu authentifizieren und mit ihnen zu interagieren. Service-Anmeldeinformationen werden nicht zur Authentifizierung an AEM gesendet. Stattdessen verwendet die externe Anwendung diese zum Generieren eines JWT-Codes, der mit den APIs von Adobe IMS für ausgetauscht wird und dann zum Authentifizieren von HTTP-Anfragen an AEM als Cloud Service verwendet werden kann.