Token-basierte Authentifizierung für AEM als Cloud Service

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.

Voraussetzungen

Stellen Sie sicher, dass Folgendes vorhanden ist, bevor Sie mit diesem Tutorial fortfahren:

  1. Zugriff auf AEM als Cloud Service-Umgebung (vorzugsweise eine Entwicklungsumgebung oder ein Sandbox-Programm)
  2. Mitgliedschaft in der AEM als Cloud Service-Umgebung - Autorendienste AEM Administrator-Produktprofil
  3. Mitgliedschaft in oder Zugriff auf Ihren Adobe IMS-Organisationsadministrator (dieser muss die Dienstanmeldeinformationen einmal initialisieren)
  4. Die neueste WKND-Site, die in Ihrer Cloud Service-Umgebung bereitgestellt wurde

Übersicht über externe Anwendungen

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:

Externe Anwendung

  1. Die Node.js-Anwendung wird über die Befehlszeile aufgerufen

  2. Befehlszeilenparameter definieren:

    • Der AEM als Cloud Service-Autorendiensthost, mit dem eine Verbindung hergestellt werden soll (aem)
    • Der AEM Asset-Ordner, dessen Assets aktualisiert werden (folder)
    • Die Metadateneigenschaft und der zu aktualisierende Wert (propertyName und propertyValue)
    • Der lokale Pfad zur Datei mit den Anmeldeinformationen, die für den Zugriff auf AEM als Cloud Service erforderlich sind (file).
  3. 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.

  4. Das Programm verwendet das Zugriffstoken, um auf AEM zuzugreifen und alle Assets im Ordner aufzulisten, der im Befehlszeilenparameter folder angegeben ist.

  5. 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.

Lokales Entwicklungs-Zugriffstoken

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.

Dienstberechtigungen

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.

Zusätzliche Ressourcen

Auf dieser Seite