Die Rotation von OAuth-basierten Client-Anmeldeinformationen funktioniert in der Autoreninstanz, aber nicht in der Veröffentlichungsinstanz

Beim Rotieren von OAuth-Client-Anmeldeinformationen in Adobe Experience Manager (AEM) Forms schlägt die Authentifizierung auf der Veröffentlichungsinstanz fehl, obwohl sie in der Autoreninstanz funktioniert. Dieses Problem wird in der Regel durch nicht übereinstimmende HMAC-Schlüssel zwischen Instanzen verursacht, was eine ordnungsgemäße Entschlüsselung von Aktualisierungs-Token verhindert. In diesem Artikel wird die Grundursache erläutert und eine Lösung zur Wiederherstellung der OAuth-Funktion bereitgestellt.

Beschreibung description

Umgebung

  • Adobe Experience Manager (AEM) Forms, v6.5
  • Managed Services

Problem/Symptome

Nachdem die OAuth-basierten Client-Anmeldeinformationen in der Autoreninstanz gedreht und die Konfiguration auf der Veröffentlichungsinstanz repliziert wurde, schlug die Authentifizierung in der Veröffentlichungsinstanz mit dem folgenden Fehler fehl:

[ 0]  POST /content/forms/af/company-forms/<test-form>/jcr:content/guideContainer.af.dermis HTTP/1.1 com.adobe.aemds.guide.addon.expeditor.servlet.ExpEditorServiceManager Error while making web service related call com.adobe.aem.dermis.exception.DermisException: com.adobe.aemfd.dermis.authentication.exception.AuthenticationException: AEM-AUT-001-004: Failed to fetch access token for oAuth. ERROR
[ xx.xx.x.xx [ xxxxxxxxxxxx]  POST /content/forms/af/company-forms/<test-form>/jcr:content/guideContainer.af.dermis HTTP/1.1]  com.adobe.forms.foundation.oauth.model.OAuthConfigSlingModel Error while decrypting the Refresh Token com.adobe.granite.crypto.CryptoException: Cannot convert byte data

Ursache

Das Problem wurde auf einen Fehler beim Abrufen von Zugriffstoken aufgrund von veralteten Aktualisierungstoken im Speicher zurückgeführt. Die HMAC-Schlüsselwerte zwischen Autor und Veröffentlichung waren inkonsistent, was zu Problemen bei der kryptografischen Analyse führte.

Auflösung resolution

Führen Sie die folgenden Schritte aus, um das Problem zu lösen:

  1. Synchronisieren Sie HMAC-Schlüssel zwischen Autoren- und Veröffentlichungsinstanzen. Stellen Sie sicher, dass die HMAC-Schlüssel sowohl in der Autoren- als auch in der Veröffentlichungsinstanz identisch sind, wenn Sie dieselben OAuth-Anmeldeinformationen verwenden.

  2. Starten Sie die Veröffentlichungsinstanz neu. Ohne einen Neustart wird der Standard-Workflow ausgelöst, der die In-Memory-Token nicht löscht:

    1. Das System sucht zunächst nach einem In-Memory-Token. Wenn ein veraltetes Token gefunden wird, versucht es, es zu verwenden, kann jedoch keine Verbindung herstellen.
    2. Wenn kein Token im Speicher gefunden wird, prüft es das Repository unter cloudconfig/<respective configuration> und versucht, eine Verbindung mit den gespeicherten Anmeldeinformationen herzustellen.
    3. Wenn beide oben genannten Versuche fehlschlagen, erstellt das System auf der Veröffentlichungsinstanz wieder ein neues Token mit den Anmeldeinformationen aus der Cloud-/OSGi-Konfiguration. Bei Erfolg wird das Token im CRX-Repository aktualisiert.
  3. Um zu verhindern, dass dieses Problem auftritt, stellen Sie immer sicher, dass HMAC-Schlüssel auf allen AEM-Instanzen synchronisiert sind, insbesondere nach Backups oder Wiederherstellungsaufgaben.

    1. Navigieren Sie zu /system/console/bundles in der AEM-Autoreninstanz und suchen Sie das Bundle mit dem Namen Adobe Granite Crypto Bundle Key Provider (com.adobe.granite.crypto.file). Notieren Sie die Bundle-Nummer (z. B. 20).
    2. Navigieren Sie im AEM-Dateisystem zu: <repository-folder>/crx-quickstart/launchpad/felix/bundle20 (ersetzen Sie 20 durch die tatsächliche Bundle-Nummer aus dem vorherigen Schritt).
    3. Kopieren Sie Ordner data) die beiden Dateien hmac und master.
    4. Wiederholen Sie den Vorgang für jede AEM-Zielinstanz und ersetzen Sie dabei deren - und master-Dateien durch die kopierten Versionen.
    5. Starten Sie nach dem Ersetzen der Dateien die AEM-Instanz neu.

Durch die Implementierung dieser Schritte wird der OAuth-Fluss bei der Veröffentlichung nach der Rotation der Anmeldeinformationen erfolgreich wiederhergestellt.

Verwandtes Lesen

AEM 6.5 Crypto Support in der Community-Adobe Experience Manager Sites und mehr

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f