La rotación de credenciales de cliente basadas en OAuth funciona en Autor pero no en Publish

Al rotar las credenciales del cliente de OAuth en Adobe Experience Manager (AEM) Forms, la autenticación falla en la instancia de publicación a pesar de trabajar en Author. Este problema suele deberse a claves HMAC no coincidentes entre instancias, lo que impide el descifrado adecuado de los tokens de actualización. Este artículo explica la causa raíz y proporciona una resolución para restaurar la funcionalidad de OAuth.

Descripción description

Entorno

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

Problema/Síntomas

Después de rotar las credenciales del cliente basado en OAuth en Autor y replicar la configuración en Publish, la autenticación en Publish falló con el siguiente error:

[ 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

Causa

El origen del problema fue un error al recuperar los tokens de acceso debido a tokens de actualización obsoletos almacenados en la memoria. Los valores de clave HMAC no eran coherentes entre Autor y Publicación, lo que causaba problemas de análisis criptográfico.

Resolución resolution

Pruebe los siguientes pasos para resolver el problema:

  1. Sincronizar claves HMAC entre instancias de autor y publicación. Asegúrese de que las claves HMAC sean idénticas en las instancias de autor y publicación al utilizar las mismas credenciales de OAuth.

  2. Reinicie la instancia de publicación. Sin un reinicio, se activa el flujo de trabajo predeterminado, que no borra los tokens en memoria:

    1. En primer lugar, el sistema comprueba la existencia de un token en memoria. Si se encuentra un token obsoleto, intenta utilizarlo, pero no establece una conexión.
    2. Si no se encuentra ningún token en la memoria, comprueba el repositorio en cloudconfig/<respective configuration> e intenta conectarse con las credenciales almacenadas.
    3. Si ambos intentos fallan, el sistema vuelve a crear un nuevo token con credenciales de la configuración de nube/OSGI en la instancia de publicación. Si se realiza correctamente, se actualiza el token en el repositorio de CRX.
  3. Para evitar que este problema ocurra, asegúrese siempre de que las claves HMAC estén sincronizadas en todas las instancias de AEM, especialmente después de copias de seguridad o tareas de restauración.

    1. Vaya a /system/console/bundles en AEM Author y busque el paquete denominado Proveedor de clave del paquete de cifrado Adobe Granite (com.adobe.granite.crypto.file). Anote el número de paquete (p. ej. 20).
    2. En el sistema de archivos AEM, vaya a: <repository-folder>/crx-quickstart/launchpad/felix/bundle20 (reemplace 20 por el número de paquete real del paso anterior).
    3. Dentro de la carpeta data, copie los dos archivos: hmac y master.
    4. Repita el proceso en cada instancia de AEM de destino y reemplace sus archivos hmac y master por las versiones copiadas.
    5. Después de reemplazar los archivos, reinicie la instancia de AEM.

Al implementar estos pasos, el flujo de OAuth se restablece correctamente en Publicar después de la rotación de credenciales.

Lectura relacionada

Compatibilidad con cifrado AEM 6.5 en Community Adobe Experience Manager Sites y más

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