Token-basierte Authentifizierung bei AEM as a Cloud Service

AEM stellt eine Vielzahl von HTTP-Endpunkten bereit, mit denen auf Headless-Weise interagiert werden kann, von GraphQL über AEM Content Services bis zur Assets-HTTP-API. Häufig müssen sich diese Headless-Nutzerinnen und -Nutzer 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-Anfragen von externen Anwendungen, Services oder Systemen.

In diesem Tutorial wird untersucht, wie eine externe Anwendung sich programmgesteuert authentifizieren und mit AEM as a Cloud Service über HTTP unter Verwendung von Zugriffstoken interagieren kann.

Voraussetzungen

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

  1. Zugriff auf eine AEM as a Cloud Service-Umgebung (vorzugsweise eine Entwicklungsumgebung oder ein Sandbox-Programm)
  2. Abonnement der Autoren-Services der AEM as a Cloud Service-Umgebung mit dem Produktprofil AEM-Admin
  3. Abonnement oder Zugang zu den Administrierenden Ihrer Adobe IMS-Organisation (diese müssen eine einmalige Initialisierung der Service-Anmeldeinformationen durchführen)
  4. Die neueste WKND-Site, die in Ihrer Cloud-Service-Umgebung bereitgestellt wird

Ü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 as a 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 Folgendes:

    • Den Host des Autoren-Services von AEM as a Cloud Service, mit dem eine Verbindung hergestellt werden soll (aem)
    • Den AEM Asset-Ordner, dessen Assets aktualisiert wurden (folder)
    • Die zu aktualisierende Metadateneigenschaft und den zu aktualisierenden Wert (propertyName und propertyValue)
    • Den lokalen Pfad zur Datei mit den Anmeldeinformationen, die für den Zugriff auf AEM as a 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 in der JSON-Datei (file) Service-Anmeldeinformationen für die nicht-lokale Entwicklung angegeben sind, wird das Zugriffstoken von den Adobe IMS-APIs abgerufen

  4. Die Anwendung verwendet das Zugriffstoken, um auf AEM zuzugreifen und alle Assets in dem mit dem Befehlszeilenparameter folder angegebenen Ordner aufzulisten

  5. Für jedes Asset im Ordner aktualisiert die Anwendung seine Metadaten auf der Grundlage des Eigenschaftsnamens und des Werts, die in den Befehlszeilenparametern propertyName und propertyValue angegeben sind

Diese Beispielanwendung ist zwar Node.js, jedoch 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 as a Cloud Service-Umgebung generiert und bieten Zugriff auf Autoren- und Veröffentlichungs-Services. 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 Entwicklerinnen und Entwickler Anmeldeinformationen für Services 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-Anmeldeinformationen

Service-Anmeldeinformationen sind die echten Anmeldeinformationen, die in allen Nicht-Entwicklungsszenarien verwendet werden – am offensichtlichsten in der Produktion – und die es einer externen Anwendung oder einem externen System ermöglichen, sich bei AEM as a Cloud Service über HTTP zu authentifizieren und mit ihm zu interagieren. Die Service-Anmeldeinformationen selbst werden nicht zur Authentifizierung an AEM gesendet. Stattdessen verwendet die externe Anwendung diese, um ein JWT zu generieren, das mit den APIs von Adobe IMS für ein Zugriffstoken ausgetauscht wird, das dann zur Authentifizierung von HTTP-Anfragen an AEM as a Cloud Service verwendet werden kann.

Zusätzliche Ressourcen

recommendation-more-help
e25b6834-e87f-4ff3-ba56-4cd16cdfdec4