Pergunta

Por que vejo um erro de conflito de 409 ao autenticar usuários com autenticação JWT em mensagens?

Resposta

Com a autenticação JWT, uma external_id é sempre necessária e uma identidade de e-mail verificada também pode ser incluída opcionalmente. Quando uma identidade de e-mail verificada é incluída, o Sunshine Conversations armazena esse e-mail como um (user.identities) de identidade, e essas identidades devem ser exclusivas. Por exemplo, um acesso com JWT pode criar um usuário com o external_id 1234 e o user@example.org de identidade de e-mail.

Um erro de conflito de e-mail indica que o JWT sendo apresentado tem um par de external_id e e-mail que não corresponde ao que já está registrado. Por exemplo, se um JWT subsequente contiver o external_id 5678 e o user@example.org de identidade de e-mail verificado, a tentativa de acesso gerará um erro de conflito de e-mail. Isso ocorre porque o e-mail fornecido já foi pareado com um outro external_id. Essa incompatibilidade às vezes pode ocorrer porque um usuário alterou seu endereço de e-mail. Se o JWT não tivesse a declaração de e-mail, o conflito não ocorreria.

Para resolver esse comportamento e permitir que usuários com uma external_id atualizada entrem por autenticação JWT, você deve apagar a user.id anterior que você vinculou à primeira external_id.

Fazer uma chamada da API:

  • Autenticação básica, use uma chave da API e uma chave secreta
    • Nome de usuário: API_KEY_ID
    • Senha: API_KEY_SECRET
  • Método da API: DELETE
    • https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}

Dentro das URLs acima, substitua o {appId} pelo ID fornecido ao gerar a chave da API e a chave secreta e substitua o {userIdOrExternalId} pelo external_id anterior vinculado ao usuário que retorna o erro.

Para obter mais informações sobre a API do Sunshine Conversations, consulte este artigo: Bem-vindo à API Sunshine Conversations.

Aviso: Se você seguir as etapas acima para apagar o userIdOrExternalId, deslizará o histórico de conversas do usuário final quando os usuários finais se autenticarem com o novo ExternalId, depois de apagar o UserID do Sunshine Conversations. Este artigo destina-se apenas a fins informativos. A Zendesk não oferece suporte nem garantia ao código. Publique quaisquer problemas na seção de comentários ou pesquise por uma solução online.

Outra opção é apagar as informações pessoais do usuário do Sunshine Conversations. Você não apagará as conversas no perfil do Sunshine Conversations com este ponto de extremidade: Apagar informações pessoais do usuário.

  • Método da API: DELETE
    • https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}/personalinformation

Para obter mais informações, consulte o artigo: Autenticação de usuários finais para mensagens.

Aviso sobre a tradução: este artigo foi traduzido por um software de tradução automática para oferecer a você uma compreensão básica do conteúdo. Medidas razoáveis foram tomadas para fornecer uma tradução precisa, no entanto, a Zendesk não garante a precisão da tradução.

Em caso de dúvidas relacionadas à precisão das informações contidas no artigo traduzido, consulte a versão oficial do artigo em inglês.

Powered by Zendesk