Criando e configurando campos de usuário personalizados

A sintaxe precisa ser custom.user_field_x, onde x é o ID numérico do campo mostrado em /admin/config/user-fields/{x}/edit.

Esse recurso de mapeamento não está disponível diretamente no plugin Auth0.

Dito isso, ainda existem opções para alcançar o que você está descrevendo:

  • criar um componente de tema. Você pode adicionar um pequeno script front-end que sincroniza automaticamente um campo de usuário personalizado do Discourse com um valor já armazenado no Auth0. Por exemplo, quando um usuário faz login e o campo está vazio, o script pode chamar um endpoint seguro (uma pequena função de nuvem) que busca o valor do campo do Auth0 e atualiza o perfil do Discourse via API.
  • usar ferramentas de automação. Você também pode usar serviços de automação externos como Zapier ou Make para realizar essa sincronização fora do Discourse. A vantagem é que você não precisa escrever/manter código, apenas pagar pelo serviço de terceiros.
  • desenvolvimento personalizado. Podemos estender o próprio plugin Auth0 para suportar nativamente o mapeamento de claims personalizados em campos de usuário no login, ou construir um plugin personalizado que funcione em conjunto com o plugin Auth0.

Uma desvantagem clara da abordagem do componente de tema é que você precisaria escrever e manter o código personalizado, além de ter cuidado do ponto de vista de segurança para evitar introduzir possíveis bugs ou vulnerabilidades. Honestamente, não é uma solução que eu recomendaria para um site de produção como o seu.

Se eu estivesse em sua posição, eu tenderia mais para a segunda opção, usando ferramentas de terceiros, ou consideraria enviar uma solicitação de recurso ou solicitação de trabalho personalizado (dependendo da avaliação de nossos gerentes de projeto) para aprimorar o próprio plugin Auth0.

Se você estiver interessado em explorar a última opção, podemos continuar a discussão em particular.

1 curtida