A rotação de credenciais do cliente baseadas em OAuth funciona no Author, mas não no Publish

Ao girar as credenciais do cliente OAuth no Adobe Experience Manager (AEM) Forms, a autenticação falha na instância de publicação, apesar de funcionar no Author. Normalmente, esse problema é causado por chaves HMAC incompatíveis entre instâncias, o que impede a descriptografia adequada de tokens de atualização. Este artigo explica a causa raiz e fornece uma resolução para restaurar a funcionalidade OAuth.

Descrição description

Ambiente

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

Problema/Sintomas

Depois de girar as credenciais do cliente baseadas em OAuth no Autor e replicar a configuração para Publicar, a autenticação no Publish falhou com o seguinte erro:

[ 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

O problema foi rastreado a uma falha na busca de tokens de acesso devido a tokens de atualização desatualizados armazenados na memória. Os valores da chave HMAC eram inconsistentes entre Autor e Publicação, causando problemas de análise criptográfica.

Resolução resolution

Tente as seguintes etapas para resolver o problema:

  1. Sincronizar chaves HMAC entre instâncias Autor e Publicar. Verifique se as chaves HMAC são idênticas nas instâncias Autor e Publicar ao usar as mesmas credenciais OAuth.

  2. Reinicie a instância de publicação. Sem uma reinicialização, o workflow padrão é acionado, o que falha ao limpar os tokens na memória:

    1. Primeiro, o sistema verifica se há um token na memória. Se um token desatualizado for encontrado, ele tentará usá-lo, mas não estabelecerá uma conexão.
    2. Se nenhum token for encontrado na memória, ele verificará o repositório em cloudconfig/<respective configuration> e tentará se conectar usando as credenciais armazenadas.
    3. Se ambas as tentativas acima falharem, o sistema voltará a criar um novo token usando credenciais da configuração de nuvem/OSGI na instância de publicação. Se for bem-sucedido, ele atualizará o token no repositório do CRX.
  3. Para evitar que esse problema ocorra, sempre verifique se as chaves HMAC estão sincronizadas em todas as instâncias do AEM, especialmente depois de backups ou tarefas de restauração.

    1. Vá para /system/console/bundles no AEM Author e localize o pacote chamado Provedor de Chave de Pacote de Criptografia do Adobe Granite (com.adobe.granite.crypto.file). Observe o número do pacote (por exemplo, 20).
    2. No sistema de arquivos do AEM, navegue até: <repository-folder>/crx-quickstart/launchpad/felix/bundle20 (substitua 20 pelo número real do pacote da etapa anterior).
    3. Dentro da pasta dados, copie os dois arquivos: hmac e master.
    4. Repita o processo em cada instância do AEM de destino, substituindo seus arquivos hmac e master pelas versões copiadas.
    5. Após substituir os arquivos, reinicie a instância do AEM.

Ao implementar essas etapas, o fluxo do OAuth é restabelecido com êxito em Publicar após a rotação de credencial.

Leitura relacionada

Suporte à criptografia do AEM 6.5 na Adobe Experience Manager Sites da comunidade e muito mais

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