Einrichten von OpenAPI-basierten AEM-APIs
Erfahren Sie, wie Sie Ihre AEM as a Cloud Service-Umgebung einrichten, um den Zugriff auf OpenAPI-basierte AEM-APIs zu aktivieren.
In diesem Beispiel wird die AEM Assets API unter Verwendung der Server-zu-Server-Authentifizierungsmethode verwendet, um den OpenAPI-basierten Einrichtungsprozess von AEM-APIs zu demonstrieren. Sie können ähnliche Schritte ausführen, um ( andere OpenAPI-basierte AEM-APIs) .
Der allgemeine Einrichtungsprozess umfasst die folgenden Schritte:
- Modernisieren der AEM as a Cloud Service-Umgebung
- Aktivieren des AEM-API-Zugriffs
- Erstellen eines Adobe Developer Console(ADC)-Projekts
- Konfigurieren des ADC-Projekts
- Konfigurieren der AEM-Instanz zur Aktivierung der ADC-Projektkommunikation
Voraussetzungen
- Zugriff auf die Cloud Manager- und AEM as a Cloud Service-Umgebung
- Zugriff auf Adobe Developer Console (ADC).
- AEM-Projekt zum Hinzufügen oder Aktualisieren der API-Konfiguration in der
api.yaml.
Modernisieren der AEM as a Cloud Service-Umgebung modernization-of-aem-as-a-cloud-service-environment
Die Modernisierung der AEM as a Cloud Service-Umgebung ist einmalige Aktivität pro Umgebung die die folgenden Schritte umfasst. Wenn Sie Ihre AEM as a Cloud Service-Umgebung bereits modernisiert haben, können Sie diesen Schritt überspringen.
- Aktualisieren auf die AEM-Version 2024.10.18459.20241031T210302Z oder höher
- Hinzufügen neuer Produktprofile, wenn die Umgebung vor der Version 2024.10.18459.20241031T210302Z erstellt wurde
Aktualisieren der AEM-Instanz update-aem-instance
- Um die AEM-Instanz zu aktualisieren, navigieren Sie nach der Anmeldung bei der Adobe Cloud Manager zum Abschnitt Umgebungen, wählen Sie das Symbol Auslassungspunkte neben dem Umgebungsnamen aus und klicken Sie auf Aktualisieren Option.
- Klicken Sie anschließend auf die Schaltfläche Absenden und führen Sie die vorgeschlagene Fullstack-Pipeline aus.
Im vorliegenden Fall heißt die Fullstack-Pipeline Dev :: Fullstack-Deploy und die AEM-Umgebung wknd-program-dev. Bei Ihnen lauten die Namen womöglich anders.
Hinzufügen neuer Produktprofile add-new-product-profiles
- Um der AEM-Instanz neue Produktprofile hinzuzufügen, wählen Sie im Abschnitt Umgebungen von Adobe Cloud Manager das Symbol mit den Auslassungspunkten neben dem Umgebungsnamen und dann die Option Produktprofile hinzufügen aus.
-
Überprüfen Sie die neu hinzugefügten Produktprofile, indem Sie auf das Symbol Auslassungspunkte neben dem Umgebungsnamen klicken und Zugriff verwalten > Autorenprofile auswählen.
-
Im Fenster Admin Console werden die neu hinzugefügten Produktprofile angezeigt. Abhängig von Ihren AEM-Berechtigungen wie AEM Assets, AEM Sites, AEM Forms usw. können verschiedene Produktprofile angezeigt werden. In meinem Fall habe ich beispielsweise Berechtigungen für AEM Assets und Sites, sodass ich die folgenden Produktprofile sehe.
- Mit den oben genannten Schritten wird die Modernisierung der AEM as a Cloud Service-Umgebung abgeschlossen.
Aktivieren des AEM-API-Zugriffs enable-aem-apis-access
Das Vorhandensein der neuen Produktprofile ermöglicht den OpenAPI-basierten Zugriff auf AEM-APIs im Adobe Developer Console (ADC). Ohne diese Produktprofile können Sie die OpenAPI-basierten AEM-APIs nicht in Adobe Developer Console (ADC) einrichten.
Die neu hinzugefügten Produktprofile sind mit den Services verknüpft, die AEM-Benutzergruppen mit vordefinierten Zugriffssteuerungslisten (Access Control Lists, ACLs) darstellen. Die Services werden verwendet, um die Zugriffsebene auf die AEM-APIs zu steuern. Sie können auch die mit dem Produktprofil verknüpften Services aus- oder abwählen, um die Zugriffsebene herab- oder heraufzusetzen.
Überprüfen Sie die Verknüpfung, indem Sie auf das Symbol Details anzeigen neben dem Namen des Produktprofils klicken. Im folgenden Screenshot sehen Sie die Verknüpfung des Produktprofils AEM Sites Content Managers - Author - Program XXX - Environment XXX mit dem Service AEM Sites Content Managers. Überprüfen Sie andere Produktprofile und deren Verknüpfungen mit den Services.
Aktivieren des AEM Assets-API-Zugriffs enable-aem-assets-apis-access
In diesem Beispiel wird die AEM Assets-API verwendet, um den OpenAPI-basierten Einrichtungsprozess von AEM-APIs zu demonstrieren. Standardmäßig ist der Service AEM Assets API Users jedoch mit keinem Produktprofil verknüpft. Sie müssen ihn mit dem gewünschten Produktprofil verknüpfen.
Verknüpfen Sie ihn mit dem neu hinzugefügten Produktprofil für AEM Assets-Mitarbeiter-Benutzende – Autorin/Autor – Programm XXX – Umgebung XXX oder jedem anderen Produktprofil, das Sie für den Zugriff auf die AEM Assets-API verwenden möchten.
Aktivieren der Server-zu-Server-Authentifizierung
Um die Server-zu-Server-Authentifizierung für die gewünschten OpenAPI-basierten AEM-APIs zu aktivieren, muss die Person, die die Integration mithilfe des Adobe Developer Console (ADC) einrichtet, dem Produktprofil) als Entwickler hinzugefügt werden, dem der Service zugeordnet ist.
Um beispielsweise die Server-zu-Server-Authentifizierung für die AEM Assets-API zu aktivieren, muss der Benutzer als Entwickler zum AEM Assets Collaborator Users - Author - Program XXX - Environment XXX () hinzugefügt werden.
Nach dieser Verknüpfung kann das Asset Author-API des ADC-Projekts die gewünschte Server-zu-Server-Authentifizierung einrichten und das Authentifizierungskonto aus dem (im nächsten Schritt erstellten) ADC-Projekt dem Produktprofil zuordnen.
Durch Ausführung aller oben genannten Schritte haben Sie die AEM as a Cloud Service-Umgebung so vorbereitet, dass der Zugriff auf OpenAPI-basierte AEM-APIs möglich ist. Als Nächstes müssen Sie das Adobe Developer Console-Projekt (ADC) erstellen, um die OpenAPI-basierten AEM-APIs einzurichten.
Erstellen eines Adobe Developer Console(ADC)-Projekts adc-project
Das Adobe Developer Console-Projekt (ADC) wird zum Einrichten der OpenAPI-basierten AEM-APIs verwendet. Denken Sie daran, dass die Adobe Developer Console (ADC) der Entwicklungs-Hub für den Zugriff auf Adobe-APIs, SDKs, Echtzeitereignisse, Server-lose Funktionen usw. ist.
Das ADC-Projekt wird verwendet, um die gewünschten APIs hinzuzufügen, die zugehörige Authentifizierung einzurichten und das Authentifizierungskonto mit dem Produktprofil zu verknüpfen.
So erstellen Sie ein ADC-Projekt:
-
Melden Sie sich mit Ihrer Adobe ID bei der Adobe Developer Console an.
-
Klicken Sie im Abschnitt Quick Start (Schnellstart) auf die Schaltfläche Create new project (Neues Projekt erstellen).
-
Es wird ein neues Projekt mit dem Standardnamen erstellt.
-
Bearbeiten Sie den Projektnamen, indem Sie oben rechts auf die Schaltfläche Edit project (Projekt bearbeiten) klicken. Geben Sie einen aussagekräftigen Namen ein und klicken Sie auf Save (Speichern).
Konfigurieren des ADC-Projekts configure-adc-project
Nachdem Sie das ADC-Projekt erstellt haben, müssen Sie die gewünschten AEM-APIs hinzufügen, die zugehörige Authentifizierung einrichten und das Authentifizierungskonto mit dem Produktprofil verknüpfen.
In diesem Fall wird die AEM Assets-API verwendet, um den OpenAPI-basierten Einrichtungsprozess von AEM-APIs zu demonstrieren. Sie können jedoch ähnliche Schritte ausführen, um andere OpenAPI-basierte AEM-APIs wie AEM Sites-API AEM Forms-API usw. hinzuzufügen. Die AEM-Berechtigungen bestimmen die verfügbaren APIs im Adobe Developer Console (ADC).
-
Um AEM-APIs hinzuzufügen, klicken Sie auf die Schaltfläche Add API (API hinzufügen).
-
Filtern Sie im Dialogfeld Add an API (API hinzufügen) auf Experience Cloud und wählen Sie das gewünschte AEM-API aus. In diesem Fall ist beispielsweise das Asset Author-API ausgewählt.
note tip TIP Wenn die gewünschte AEM-API-Karte deaktiviert ist und in den Informationen für Warum ist dies deaktiviert? die Meldung Lizenz erforderlich angezeigt wird, könnte dies daran liegen, dass Sie Ihre AEM as a Cloud Service-Umgebung NICHT modernisiert haben. Weitere Informationen finden Sie unter Modernisieren der AEM as a Cloud Service-Umgebung. -
Wählen Sie anschließend im Dialogfeld Configure API (API konfigurieren) die gewünschte Authentifizierungsoption aus. In diesem Fall ist beispielsweise die Option zur Server-zu-Server-Authentifizierung ausgewählt.
Die Server-zu-Server-Authentifizierung ist ideal für Backend-Services, die API-Zugriff ohne Benutzerinteraktion benötigen. Die Authentifizierungsoptionen für Web-Anwendungen und Single Page Applications eignen sich für Anwendungen, die API-Zugriff im Namen von Benutzenden benötigen. Weitere Informationen finden Sie unter Unterschied zwischen OAuth-Server-zu-Server-, Web-Anwendungs- und Single-Page-Application-Anmeldedaten.
note tip TIP Wenn die Option für die Server-zu-Server-Authentifizierung nicht angezeigt wird, bedeutet dies, dass die Benutzenden, die die Integration einrichten, nicht als Entwickelnde zu dem mit dem Dienst verknüpften Produktprofil hinzugefügt werden. Weitere Informationen finden Sie unter Aktivieren der Server-zu-Server-Authentifizierung. -
Bei Bedarf können Sie das API umbenennen, um eine einfachere Identifizierung zu ermöglichen. Zu Demozwecken wird der Standardname verwendet.
-
In diesem Fall wird die OAuth-Server-zu-Server-Authentifizierungsmethode verwendet. Daher müssen Sie das Authentifizierungskonto mit dem Produktprofil verknüpfen. Wählen Sie das Produktprofil für AEM Assets-Mitarbeiter-Benutzende – Autorin/Autor – Programm XXX – Umgebung XXX aus und klicken Sie auf Save (Speichern).
-
Überprüfen Sie das AEM-API und die Authentifizierungskonfiguration.
Wenn Sie die Authentifizierungsmethode OAuth Web App (OAuth-Web-Anwendung) oder OAuth Single Page App (OAuth-Single-Page-Application) wählen, wird nicht zur Produktprofilzuordnung aufgerufen, aber der Umleitungs-URI der Anwendung ist erforderlich. Der Umleitungs-URI der Anwendung wird verwendet, um Benutzende nach der Authentifizierung mit einem Autorisierungs-Code an die Anwendung umzuleiten. In den entsprechenden Tutorials zu den Anwendungsfällen werden solche authentifizierungsspezifischen Konfigurationen beschrieben.
Konfigurieren der AEM-Instanz zur Aktivierung der ADC-Projektkommunikation configure-aem-instance
Als Nächstes müssen Sie die AEM-Instanz konfigurieren, um die obige ADC-Projektkommunikation zu aktivieren. Mit dieser Konfiguration kann die Client-ID des ADC-Projekts NICHT mit der AEM-Instanz kommunizieren und führt zu einem 403-Fehler (Forbidden). Stellen Sie sich diese Konfiguration als eine Firewall-Regel vor, die es nur den zulässigen Client-IDs ermöglicht, mit der AEM-Instanz zu kommunizieren.
Führen wir die Schritte aus, um die AEM-Instanz so zu konfigurieren, dass die oben genannte ADC-Projektkommunikation aktiviert wird.
-
Navigieren Sie auf Ihrem lokalen Computer zum AEM-Projekt (oder klonen Sie es, falls noch nicht geschehen) und suchen Sie nach dem
config. -
Suchen oder erstellen Sie im AEM-Projekt die
api.yaml-Datei aus demconfig. In meinem Fall wird das AEM WKND Sites-Projekt verwendet, um den OpenAPI-basierten Einrichtungsprozess von AEM-APIs zu demonstrieren.
-
Fügen Sie der
api.yaml-Datei die folgende Konfiguration hinzu, damit die Client-ID des ADC-Projekts mit der AEM-Instanz kommunizieren kann.code language-yaml kind: "API" version: "1.0" metadata: envTypes: ["dev", "stage", "prod"] data: allowedClientIDs: author: - "<ADC Project's Credentials ClientID>"Ersetzen Sie
<ADC Project's Credentials ClientID>durch die tatsächliche Client-ID der Anmeldedaten des ADC-Projekts. Der in diesem Tutorial verwendete API-Endpunkt ist nur auf der Erstellungsebene verfügbar. Bei anderen APIs kann die YAML-Konfiguration auch über einen Knoten publish oder preview verfügen.note caution CAUTION Zu Demozwecken wird für alle Umgebungen dieselbe Client-ID verwendet. Es wird empfohlen, für mehr Sicherheit und Kontrolle eine separate Client-ID pro Umgebung (Entwicklung, Staging, Produktion) zu verwenden. -
Übergeben Sie die Konfigurationsänderungen und pushen Sie die Änderungen an das Remote-Git-Repository, mit dem die Cloud Manager-Pipeline verbunden ist.
-
Stellen Sie die oben genannten Änderungen mithilfe der Konfigurations-Pipeline in Cloud Manager bereit.
Beachten Sie, dass die api.yaml-Datei auch in einer RDE installiert werden kann mithilfe von Befehlszeilen-Tools. Dies ist nützlich, um die Konfigurationsänderungen zu testen, bevor sie in der Produktionsumgebung bereitgestellt werden.
Nächste Schritte
Sobald die AEM-Instanz so konfiguriert ist, dass die ADC-Projektkommunikation aktiviert wird, können Sie die OpenAPI-basierten AEM-APIs verwenden. Erfahren Sie, wie Sie die OpenAPI-basierten AEM-APIs mit verschiedenen OAuth-Authentifizierungsmethoden verwenden:
Aufrufen des APIs mit Server-zu-Server-Authentifizierung
Erfahren Sie, wie Sie OpenAPI-basierte AEM-APIs aus einer benutzerdefinierten NodeJS-Anwendung mithilfe der OAuth-Server-zu-Server-Authentifizierung aufrufen.
Aufrufen des APIs mit Web-Anwendungs-Authentifizierung
Erfahren Sie, wie Sie OpenAPI-basierte AEM-APIs aus einer benutzerdefinierten Web-Anwendung mithilfe der OAuth-Web-Anwendungs-Authentifizierung aufrufen.
Aufrufen des APIs mit Single-Page-Application-Authentifizierung
Erfahren Sie, wie Sie OpenAPI-basierte AEM-APIs aus einer benutzerdefinierten Single Page Application (SPA) mithilfe des OAuth 2.0 PKCE-Flusses aufrufen.