Rotatie van gebruikersgegevens op basis van OAuth werkt in Auteur, maar niet in Publiceren
Wanneer u OAuth-clientreferenties roteert in Adobe Experience Manager (AEM) Forms, mislukt de verificatie op de instantie Publiceren ondanks het werken in Auteur. Deze kwestie wordt typisch veroorzaakt door onjuist afgepaste sleutels HMAC tussen instanties, die juiste decryptie van verfrist tokens verhindert. Dit artikel verklaart de worteloorzaak en verstrekt een resolutie om functionaliteit te herstellen OAuth.
Beschrijving description
Omgeving
- Adobe Experience Manager (AEM) Forms, v6.5
- Managed Services
Probleem/symptomen
Na het roteren van de op OAuth gebaseerde cliëntgeloofsbrieven in Auteur en het repliceren van de configuratie aan Publish, de authentificatie in publiceren ontbrak met de volgende fout:
[ 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
Oorzaak
De kwestie werd getraceerd aan een mislukking in het halen van toegangstokens toe te schrijven aan verouderde tokens die in geheugen worden opgeslagen verfrist. De belangrijkste waarden HMAC waren inconsistent tussen Auteur en Publish, veroorzakend cryptografisch het ontleden kwesties.
Resolutie resolution
Probeer de volgende stappen om het probleem op te lossen:
-
Sync HMAC keys between Author and Publish instances. Zorg ervoor dat de sleutels HMAC op zowel de Auteur als de Publish instanties identiek zijn wanneer het gebruiken van de zelfde geloofsbrieven OAuth.
-
Start de instantie Publish opnieuw. Zonder opnieuw opstarten wordt de standaardworkflow geactiveerd, waardoor tokens in het geheugen niet worden gewist:
- Het systeem controleert eerst op een in-geheugentoken. Als een verouderd token wordt gevonden, wordt geprobeerd dit te gebruiken, maar wordt geen verbinding tot stand gebracht.
- Als er geen token wordt gevonden in het geheugen, wordt de opslagplaats gecontroleerd onder
cloudconfig/<respective configuration>
en wordt geprobeerd verbinding te maken met de opgeslagen referenties. - Als beide bovenstaande pogingen mislukken, blijft het systeem terugvallen op het maken van een nieuw token met referenties uit de cloud/OSGI-configuratie op de instantie Publish. Als dit gelukt is, wordt het token bijgewerkt in de CRX-opslagplaats.
-
Om te voorkomen dat dit probleem zich altijd voordoet, zorgt u ervoor dat de HMAC-toetsen in alle AEM-instanties worden gesynchroniseerd, met name na back-ups of hersteltaken.
- Ga naar
/system/console/bundles
in de Auteur van AEM en bepaal de plaats van de bundel genoemd Adobe Granite Crypto Bundle Zeer belangrijke Leverancier (com.adobe.granite.crypto.file). Noteer het bundelnummer (bijvoorbeeld 20). - Navigeer in het AEM-bestandssysteem naar:
<repository-folder>/crx-quickstart/launchpad/felix/bundle20
(vervang 20 door het feitelijke bundelnummer uit de vorige stap). - Binnen de gegevens omslag, kopieer de twee dossiers: hmac en meester .
- Herhaal het proces op elke instantie van doelAEM, die hun bevel vervangen en hoofd dossiers met de gekopieerde versies.
- Nadat u de bestanden hebt vervangen, start u het AEM-exemplaar opnieuw.
- Ga naar
Door deze stappen uit te voeren, wordt de stroom OAuth met succes opnieuw gevestigd op Publish na credentiële omwenteling.
Gerelateerde lezing
AEM 6.5 Crypto Steunin Communautaire Adobe Experience Manager Sites & meer