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.