Generieren von Zugriffs-Token für Server-seitige APIs generating-access-tokens-for-server-side-apis

NOTE
OAuth-Server-zu-Server-Anmeldedaten in AEM Developer Console sind ab dem 4. November 2026 verfügbar.
IMPORTANT
Verwenden Sie OAuth Server-zu-Server-Anmeldeinformationen für Server-seitige Integrationen. Anmeldedaten für Service-Konten (JWT) werden zugunsten von OAuth-Server-zu-Server nicht mehr unterstützt. Informationen zu vorhandenen JWT-basierten Integrationen finden Sie unter Generieren von Zugriffstoken für Server-seitige APIs - JWT (Legacy).

Einige Architekturen erfordern Aufrufe an Adobe Experience Manager (AEM) as a Cloud Service von einer Anwendung, die auf einem Server außerhalb der AEM-Infrastruktur gehostet wird. Beispielsweise ruft eine Mobile App einen Server auf, der dann API-Anfragen an AEM as a Cloud Service sendet.

Verwenden Sie die AEM as a Cloud Service Developer Console, um ein technisches OAuth-Server-zu-Server-Konto zu erstellen. Ihre Anwendung tauscht ihre Client-ID und ihr Client-Geheimnis mithilfe der Adobe Identity Management Services (IMS)-client_credentials gegen ein Zugriffstoken aus. Es ist kein signiertes JWT, kein privater Schlüssel oder Zertifikat erforderlich.

NOTE
Die AEM-Developer Console verwaltet den Zugriff auf Ihre AEM-Umgebung. Sie unterscheidet sich von der Adobe-Developer Console unter developer.adobe.com/console. Erstellen und verwalten Sie das technische Konto, das hier in der AEM Developer Console beschrieben wird.

Der Server-zu-Server-Fluss the-server-to-server-flow

Benutzende mit der Rolle eines IMS-Organisationsadministrators, die auch Mitglieder des Produktprofils AEM-Benutzende oder AEM- in der AEM-Autoreninstanz sind, können ein technisches Konto erstellen. Das Client-Geheimnis wird bei der Erstellung nur dem Benutzer angezeigt, der es erstellt hat. Benutzende mit der Rolle eines AEM as a Cloud Service-Umgebungs-Administrators können die Kontodetails anzeigen, die das Client-Geheimnis nicht enthalten.

Der Server-zu-Server-Fluss umfasst die folgenden Schritte:

  1. Erstellen Sie ein technisches OAuth-Server-zu-Server-Konto und speichern Sie dessen Anmeldeinformationen, einschließlich des bei der Erstellung angezeigten Client-Geheimnisses.
  2. Speichern Sie die Anmeldeinformationen sicher auf dem Server, der Anfragen an AEM sendet.
  3. Fordern Sie ein Zugriffstoken von IMS mithilfe der Client-ID, des Client-Geheimnisses und der Bereiche an.
  4. Konfigurieren Sie das Produktprofil und die AEM-Berechtigungen des technischen Kontos.
  5. Rufen Sie die AEM-API mit dem Zugriffstoken als Bearer-Token auf.

Erstellen eines technischen Kontos und Abrufen seiner Anmeldeinformationen fetch-the-aem-as-a-cloud-service-credentials

IMPORTANT
AEM Developer Console zeigt ein OAuth-Server-zu-Server-Client-Geheimnis nur einmal an, wenn es erstellt wird. AEM Developer Console speichert den geheimen Wert nicht. Es werden nur die geheime ID und der Status beibehalten. IMS speichert die geheimen Daten als unidirektionalen Hash. Speichern Sie die geheimen Daten sicher, wenn sie angezeigt werden. Wenn Sie sie verlieren, erstellen Sie mit einem anderen aktiven Geheimnis ein neues Geheimnis oder erstellen Sie ein neues technisches Konto.
  1. Integrationen öffnen. Öffnen Sie die AEM Developer Console für die Umgebung, auf die Ihre Anwendung zugreift, und wählen Sie dann Integrationen aus. Wählen Neues technisches Konto erstellen aus.

    Seite Integrationen mit hervorgehobener Option „Neues technisches Konto erstellen“

  2. Erstellen Sie das technische Konto. Wählen Sie im Dialogfeld OAuth Server-zu-Server (S2S) als Berechtigungstyp aus und klicken Sie dann auf Erstellen.

    Dialogfeld „Neues technisches Konto erstellen“ mit ausgewählter OAuth-Server-zu-Server

  3. Speichern Sie das Client-Geheimnis. Das „Client-Geheimnis speichern zeigt die Anmeldeinformationen an, einschließlich technicalAccount.clientSecret. Wählen Sie Anmeldedaten herunterladen, um sie als aem-s2s-credentials.json zu speichern, oder wählen Sie In Zwischenablage kopieren. Speichern Sie die Anmeldeinformationen in einem geheimen Manager oder einem anderen zugriffsgesteuerten Speicherort für Ihr Programm.

    Das Dialogfeld „Client-Geheimnis speichern“ mit dem hervorgehobenen Wert „Client-Geheimnis“ und den hervorgehobenen Optionen „Anmeldeinformationen herunterladen“ und „In Zwischenablage kopieren“

    Wählen Sie Schließen aus. Wählen im Bestätigungsdialogfeld „Schließen ohne weiteren Zugriff auf Ihre geheimen Daten die Option Schließen nur nach sicherem Speichern der geheimen Daten aus. Nachdem das Dialogfeld geschlossen wurde, können die geheimen Daten nicht mehr angezeigt werden.

    Schließen ohne weiteren Zugriff auf das Bestätigungsdialogfeld für geheime Daten mit hervorgehobener Option „Schließen“

  4. Überprüfen Sie das technische Konto. Das neue OAuth Server-zu-Server-Konto wird mit seinem Active-Client-Geheimnis aufgelistet. Die in der Liste angezeigte geheime ID identifiziert ein Geheimnis. Dies ist nicht der geheime Wert und kann nicht als client_secret in einer Token-Anfrage verwendet werden.

    Neues OAuth Server-zu-Server-Konto mit einem aktiven Client-Geheimnis, dessen Aktionsmenü geöffnet ist

Um die Details der geheimen Daten später zu überprüfen, öffnen Sie das Zeilenmenü des Client-Geheimnisses und wählen Sie Anzeigen aus. Das Dialogfeld „Anmeldeinformationen“ zeigt den IMS-Endpunkt, die Bereiche, die Client-ID, die E-Mail-Adresse des technischen Kontos, die geheime ID und den Sperrstatus an. Der Wert des Client-Geheimnisses wird nicht angezeigt.

Dialogfeld „Anmeldeinformationen“ ohne den Wert des Client-Geheimnisses

NOTE
Kunden können bis zu 20 technische Konten erstellen. Gelöschte Konten werden auf dieses Limit angerechnet.
IMPORTANT
Ein IMS-Organisationsadministrator, der auch Mitglied des Produktprofils AEM-Benutzer oder AEM- in der AEM-Autoreninstanz ist, muss das technische Konto erstellen. Da das Client-Geheimnis nur einmal angezeigt wird, ist der Benutzer, der das Konto erstellt, für die Weitergabe der Anmeldeinformationen an den Anwendungsbesitzer über einen sicheren Kanal verantwortlich.

Installieren der AEM-Service-Anmeldeinformationen auf einem Nicht-AEM-Server install-the-aem-service-credentials-on-a-non-aem-server

Stellen Sie die Anmeldeinformationen nur für die Server-seitige Anwendung zur Verfügung, die AEM aufruft. Verwenden Sie einen geheimen Manager oder einen anderen Zugriffskontrollmechanismus.

Fügen Sie kein Client-Geheimnis in Browser-seitigen Code, Mobile Apps, Quellcodeverwaltung oder Protokollen ein. Behandeln Sie Zugriffs-Token auch als Geheimnisse.

Anfordern eines OAuth-Zugriffstoken request-an-oauth-access-token

Senden Sie eine HTTPS-POST an https://<imsEndpoint>/ims/token/v3. Der imsEndpoint in der JSON-Datei zur Berechtigung ist ein IMS-Hostname. ims-na1.adobelogin.com verwendet beispielsweise https://ims-na1.adobelogin.com/ims/token/v3. Verwenden Sie den in Ihren Anmeldeinformationen angegebenen Hostnamen, einschließlich des Hostnamens für das Stadium bei Verwendung der Anmeldeinformationen für das Stadium.

Verwenden Sie Content-Type: application/x-www-form-urlencoded und schließen Sie diese Formularfelder in den Anfrageinhalt ein:

Parameter
Wert
grant_type
client_credentials
client_id
Die technicalAccount.clientId aus Ihren Anmeldedaten.
client_secret
Die technicalAccount.clientSecret, die Sie beim Erstellen der geheimen Daten gespeichert haben.
scope
Die Werte in scopes, verbunden mit Kommas.

URL-Codierung jedes Formularwerts. Senden Sie geheime Daten im Anfragetext, nicht in der URL oder Abfragezeichenfolge.

Die Antwort umfasst access_token, token_type und expires_in. Verwenden Sie access_token , um AEM aufzurufen. Der expires_in Wert ist die Token-Lebensdauer in Sekunden. Verwenden Sie diesen Wert, anstatt eine feste Ablaufzeit anzunehmen.

Speichern Sie das Zugriffstoken zwischen und verwenden Sie es erneut, bis es fast abläuft. Fordern Sie dann ein neues Token mit denselben Client-Anmeldeinformationen an. Diese Gewährung erfordert keinen JWT-Austausch oder ein Aktualisierungs-Token.

NOTE
Verwenden Sie die Anmeldeinformationen für die von Ihnen aufgerufene AEM-Umgebung. Ein gültiges IMS-Zugriffstoken gewährt keine zusätzlichen AEM-Berechtigungen. Konfigurieren Sie die Berechtigungen des technischen Kontos wie unten beschrieben.

Beispiel für die Node.js-Authentifizierung nodejs-authentication-example

Eine minimale OAuth-Server-zu-Server-Implementierung finden Sie im Beispiel der AEM-CS API-Client-Bibliothek. Es verwendet integrierte Node.js-APIs und erfordert Node.js 18 oder neuer ohne zusätzliche Abhängigkeiten.

Das Beispiel erwartet die Anmeldeinformationen in einem integration. Die von AEM Developer Console heruntergeladene aem-s2s-credentials.json-Datei enthält die Anmeldeinformationen ohne diesen Wrapper. Schließen Sie den Inhalt vor der Verwendung mit dem Beispiel ein, z. B. mit jq:

jq '{integration: .}' aem-s2s-credentials.json > downloaded_integration.json

Bearbeiten Sie alternativ die Datei so, dass ihr vollständiger Inhalt zum Wert eines integration-Felds der obersten Ebene wird. Führen Sie aus dem Beispiel-Repository Folgendes aus:

node oauth-s2s-cli.js downloaded_integration.json

Für die programmgesteuerte Verwendung akzeptiert der OAuth-Helper das umschlossene Objekt als requestAccessToken(credentials). Dabei werden der IMS-Hostname, die Client-ID, das Client-Geheimnis und die Bereiche in integration verwendet.

Behalten Sie die Datei mit den Anmeldeinformationen für sich. Die CLI druckt ein Zugriffs-Token. Senden Sie keine Ausgaben an freigegebene Protokolle oder veröffentlichen Sie sie nicht. Die README-Datei des Beispiels zeigt auch, wie das Token in einer AEM-API-Anfrage verwendet wird.

Aufrufen der AEM-API calling-the-aem-api

Fügen Sie das Zugriffstoken mithilfe des Bearer <access_token> in die Authorization-Kopfzeile von Anfragen an Ihre AEM as a Cloud Service-Umgebung ein.

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  "https://author-p<program-id>-e<environment-id>.adobeaemcloud.com/content/dam.json"

Verwenden Sie den Hostnamen für die Umgebung und die Ebene, auf die Ihre Anwendung zugreift. Nur Ressourcen aufrufen, auf die das technische Konto zugreifen darf.

Festlegen der entsprechenden Berechtigungen für den technischen Kontobenutzer in AEM set-the-appropriate-permissions-for-the-technical-account-user-in-aem

  1. Öffnen Sie die Adobe Admin Console.
  2. Wählen Sie AEM as a Cloud Service unter Produkte und Services aus.
  3. Erstellen Sie ein Produktprofil für die Integration oder wählen Sie ein geeignetes vorhandenes Profil aus.
  4. Wählen Sie Benutzer hinzufügen aus und fügen Sie das technische Konto mithilfe des email aus dessen Anmeldeinformationen hinzu.
  5. Warten Sie, bis sich die Produktprofiländerungen auswirken. Erstellen Sie einen API-Aufruf an AEM mit einem für das technische Konto generierten Zugriffstoken. Das Produktprofil wird als AEM-Gruppe mit dem technischen Konto als Mitglied synchronisiert.
  6. Öffnen Sie in der entsprechenden AEM-Autoreninstanz Tools > Sicherheit > Gruppen. Suchen Sie die Produktprofilgruppe und überprüfen Sie, ob das technische Konto unter Mitglieder angezeigt wird. Sie können auch die Gruppenmitgliedschaft unter Tools > Sicherheit > Benutzer überprüfen.
  7. Öffnen Sie Einstellungen > Sicherheit > Berechtigungen. Wählen Sie die dem Produktprofil entsprechende Gruppe aus und konfigurieren Sie die für Ihre API-Aufrufe erforderlichen Berechtigungen.
  8. Überprüfen Sie die erforderlichen API-Aufrufe für jede Ebene, auf die die Anwendung zugreift. Gewähren Sie nur die für die Integration erforderlichen Berechtigungen.
NOTE
Wenn Sie ein technisches JWT-Konto durch ein OAuth-Server-zu-Server-Konto ersetzen, weisen Sie das neue Konto den erforderlichen Produktprofilen zu und überprüfen Sie die zugehörigen AEM-Berechtigungen. Berechtigungen für das alte technische Konto werden nicht automatisch auf das neue Konto übertragen.

Weitere Informationen zu IMS und AEM-Benutzern und -Gruppen finden Sie unter IMS-Unterstützung.

Entwicklungsablauf developer-flow

Für lokale Tests können Entwicklerinnen und Entwickler ein Entwicklungs-Zugriffstoken direkt in der AEM Developer Console generieren, ohne ein technisches OAuth-Server-zu-Server-Konto zu erstellen. Das Token kann zum Aufrufen von AEM-Umgebungen verwendet werden, auf die Entwicklerinnen und Entwickler zugreifen können. Verwenden Sie für unbeaufsichtigte Server-seitige Anwendungen OAuth-Server-zu-Server-Anmeldeinformationen anstelle eines lokalen Entwicklungstokens.

Die für ​ Verwendung von AEM Developer Console erforderlichen ​ finden Sie in den Entwicklerrichtlinien .

NOTE
Ein lokales Entwicklungs-Zugriffstoken ist maximal 24 Stunden lang gültig. Generieren Sie nach Ablauf mit derselben Methode ein weiteres Token.

Generieren des Zugriffs-Tokens generating-the-access-token

  1. Navigieren Sie in AEM Developer Console zu Integrationen > Lokales Token.
  2. Wählen Sie Lokales Entwicklungstoken abrufen aus.

Aufrufen der AEM-Anwendung mit einem Zugriffs-Token call-the-aem-application-with-an-access-token

Verwenden Sie das lokale Entwicklungs-Zugriffstoken als Bearer-Token in der Authorization-Kopfzeile, wie in Aufrufen der AEM-API beschrieben.

Für ein AEM-Projekt, das auf Ihrem lokalen Computer ausgeführt wird, ist kein IMS-Zugriffstoken erforderlich.

Rotieren von Client-Geheimnissen refresh-credentials

OAuth-Server-zu-Server-Anmeldeinformationen erfordern keine jährliche Zertifikatsverlängerung. Rotieren Sie Client-Geheimnisse regelmäßig und immer dann, wenn geheime Daten offen gelegt werden. Erstellen Sie neue geheime Daten, stellen Sie sie in Ihren Anwendungen ein und widerrufen Sie erst dann die alten geheimen Daten.

Das Erstellen und Widerrufen von geheimen Daten erfordert die von Ihnen gespeicherten geheimen Daten. AEM Developer Console verwendet einen eingegebenen geheimen Schlüssel nur zur Authentifizierung der Anfrage bei IMS und speichert ihn nicht.

IMPORTANT
IMS erfordert mindestens ein aktives Geheimnis. Erstellen und überprüfen Sie neue geheime Daten, bevor Sie die zuletzt aktiven geheimen Daten widerrufen. Wenn Sie das technische Konto nicht mehr vollständig verwenden möchten, löschen Sie stattdessen das Konto .
  1. Neue geheimen Daten erstellen. Öffnen in "" das Aktionsmenü neben dem Namen des OAuth-Server-zu-Server-Kontos und wählen Sie Neue geheimen Daten erstellen aus. Dies ist das Menü auf Kontoebene, nicht das Zeilenmenü eines Client-Geheimnisses.

    Aktionsmenü „OAuth Server-zu-Server-Konto“ mit hervorgehobener Option „Neues Geheimnis erstellen“

  2. Mit einem aktiven Geheimnis authentifizieren. Geben im Dialogfeld Neue geheimen Schlüssel erstellen den Wert eines aktiven Client-Geheimnisses für das Konto ein und wählen Sie dann Neue geheimen Schlüssel erstellen aus.

    Dialogfeld „Neue geheimen Daten erstellen“ mit hervorgehobenem aktiven Feld „Client-Geheimnis“ und hervorgehobener Schaltfläche „Neue geheime Daten erstellen“

  3. Speichern Sie die neuen geheimen Daten. Das Dialogfeld zeigt die neuen geheimen Daten einmal mit ihren clientId, secretId, clientSecret und scopes an. Herunterladen oder kopieren, sicher speichern und das Dialogfeld schließen. Bestätigen Sie, dass Sie das Geheimnis nur schließen möchten, nachdem Sie die geheimen Daten sicher gespeichert haben. Nachdem das Dialogfeld geschlossen wurde, können die neuen geheimen Daten nicht mehr angezeigt werden.

    Dialogfeld „Neue geheimen Daten“ mit hervorgehobenem Wert „Client-Geheimnis“ und hervorgehobener Option „Anmeldeinformationen herunterladen“ und „In Zwischenablage kopieren“

  4. Wechseln Sie zu den neuen geheimen Daten. Ersetzen Sie den technicalAccount.clientSecret Wert in den Anmeldedaten, die jede Anwendungsinstanz und Bereitstellung verwendet, durch den neuen clientSecret. Die anderen Werte der Anmeldeinformationen ändern sich nicht.

    Fordern Sie ein neues Zugriffstoken mit den neuen geheimen Daten an und überprüfen Sie die erforderlichen AEM-API-Aufrufe, bevor Sie fortfahren. Beide Geheimnisse bleiben während der Programmumstellung aktiv. Durch die Wiederverwendung eines zuvor ausgestellten Zugriffstokens wird der neue geheime Schlüssel nicht überprüft.

  5. Wählen Sie das alte Geheimnis für die Sperrung aus. Nachdem alle Programme die neuen geheimen Daten verwendet haben, öffnen Sie das Zeilenmenü der alten geheimen Daten und wählen Sie Widerrufen aus. Überprüfen Sie die geheime ID, um sicherzustellen, dass Sie die alten geheimen Daten ausgewählt haben.

    Aktionsmenü des alten Client-Geheimnisses mit hervorgehobener Option „Sperren“, während beide Geheimnisse aktiv sind

  6. Widerruf bestätigen. Markieren Sie im Dialogfeld Client- widerrufen“ die zu widerrufende Client-Geheimnis-ID, geben Sie den Wert dieses Geheimnisses ein und wählen Sie Widerrufen aus. Wenn Sie den geheimen Wert nicht mehr haben, wenden Sie sich an den Adobe-Support. Sobald sich die Sperrung über IMS ausbreitet, können Programme dieses Geheimnis nicht mehr verwenden, um neue Token anzufordern. Vorhandene Zugriffstoken bleiben möglicherweise gültig.

    Das Dialogfeld „Client-Geheimnis widerrufen“ mit dem hervorgehobenen Feld „Client-Geheimnis“ und der hervorgehobenen Schaltfläche „Widerrufen“

  7. Überprüfen Sie das Ergebnis. Das alte Geheimnis wird als Widerrufen“, während das neue Geheimnis Aktiv bleibt.

    Liste der geheimen Client-Schlüssel, in der die alten geheimen Daten als widerrufen und die neuen geheimen Daten als aktiv angezeigt werden, wobei die Option „Löschen“ der widerrufenen geheimen Daten hervorgehoben ist

    Nachdem der Widerruf wirksam wird, stellen Sie sicher, dass die alten geheimen Daten keine neuen Zugriffstoken ausgeben können und dass die neuen geheimen Daten Folgendes können. Durch Überprüfen des angezeigten Status allein wird die IMS-Verbreitung nicht überprüft.

  8. Entfernen Sie die widerrufenen geheimen Daten, wenn sie nicht mehr benötigt werden. Um die widerrufenen geheimen Daten aus der Liste zu entfernen, öffnen Sie das Menü in der Zeile, wählen Sie Löschen und bestätigen Sie den Vorgang.

Widerrufen der Anmeldeinformationen credentials-revocation

Widerrufen deaktiviert ein ausgewähltes Geheimnis für neue Token-Anfragen. Dazu muss der Wert der geheimen Daten widerrufen werden. Es kann einige Zeit dauern, bis die Sperrung propagiert wird. Gehen Sie nicht davon aus, dass durch Widerrufen geheimer Daten bereits ausgestellte Zugriffstoken sofort ungültig werden.

Löschen bei widerrufenen geheimen Daten werden deren Metadaten, wie die geheime ID und der Sperrstatus, aus AEM Developer Console entfernt. Es führt keine separate IMS-Sperrung durch und ist nicht für aktive geheime Daten verfügbar.

Löschen eines technischen Kontos delete-a-technical-account

Durch das Löschen eines technischen Kontos werden das Konto und alle zugehörigen Client-Geheimnisse in IMS sofort widerrufen. Für Anmeldeinformationen unter dem Konto werden keine neuen Zugriffs-Token ausgestellt und Integrationen, die sie verwenden, funktionieren nicht mehr, sobald ihre aktuellen Token ablaufen. Um den Zugriff wiederherzustellen, müssen Sie ein neues technisches Konto erstellen, Ihre Anwendungen mit den zugehörigen Anmeldeinformationen aktualisieren und die erforderlichen Berechtigungen in AEM erneut zuweisen.

Das Löschen des Kontos kann nicht rückgängig gemacht werden. Bestätigen Sie erst, nachdem Sie geprüft haben, welche Programme vom Konto abhängen, und verwenden Sie sie nicht als Drehschritt „Individual-Secret“.

  1. Öffnen in Integrationen“ das Aktionsmenü neben dem Namen des technischen Kontos und wählen Sie Löschen.

    OAuth-Server-zu-Server-Konto-Aktionsmenü mit hervorgehobener Option „Löschen“

  2. Überprüfen Sie das Dialogfeld Technisches Konto löschen und wählen Sie dann Löschen.

    Bestätigungsdialogfeld für technisches Konto löschen

Migrieren einer JWT-basierten Integration migrate-a-jwt-based-integration

  1. Erstellen Sie in der AEM-Developer Console ein neues technisches OAuth-Server-zu-Server-Konto.
  2. Weisen Sie das neue technische Konto den erforderlichen Produktprofilen zu und konfigurieren Sie die zugehörigen AEM-Berechtigungen.
  3. Aktualisieren Sie die Server-seitige Anwendung, um Token mit client_credentials anzufordern, anstatt ein JWT zu signieren und auszutauschen.
  4. Überprüfen Sie die Erstellung eines neuen Tokens und die erforderlichen API-Aufrufe mit dem neuen Konto.
  5. Nachdem alle Anwendungsinstanzen OAuth-Server-zu-Server verwendet haben, löschen Sie die alten JWT-Anmeldeinformationen und löschen Sie das alte technische Konto.

Informationen zu Vorgängen im Zusammenhang mit Zertifikaten und privaten Schlüsseln im alten Konto finden Sie im JWT Legacy-Handbuch. Entfernen Sie das alte Konto nicht, bevor die Ersatzintegration überprüft wurde.

recommendation-more-help
experience-manager-cloud-service-help-main-toc