Créer et configurer des champs utilisateur personnalisés

La syntaxe doit être custom.user_field_x, où x est l’ID numérique du champ affiché dans /admin/config/user-fields/{x}/edit.

Cette fonctionnalité de mappage n’est pas directement disponible dans le plugin Auth0.

Cela dit, il existe toujours des options pour réaliser ce que vous décrivez :

  • créer un composant de thème. Vous pouvez ajouter un petit script front-end qui synchronise automatiquement un champ utilisateur personnalisé Discourse avec une valeur déjà stockée dans Auth0. Par exemple, lorsqu’un utilisateur se connecte et que le champ est vide, le script peut appeler un point de terminaison sécurisé (une petite fonction cloud) qui récupère la valeur du champ depuis Auth0 et met à jour le profil Discourse via l’API.
  • utiliser des outils d’automatisation. Vous pourriez également utiliser des services d’automatisation externes comme Zapier ou Make pour effectuer cette synchronisation en dehors de Discourse. L’avantage est que vous n’avez pas à écrire/maintenir de code, mais seulement à payer pour le service tiers.
  • développement personnalisé. Nous pouvons étendre le plugin Auth0 lui-même pour prendre en charge nativement le mappage des revendications personnalisées dans les champs utilisateur lors de la connexion, ou créer un plugin personnalisé qui fonctionne en parallèle avec le plugin Auth0.

Un inconvénient évident de l’approche par composant de thème est que vous devrez écrire et maintenir vous-même le code personnalisé, tout en faisant attention du point de vue de la sécurité pour éviter d’introduire des bogues ou des vulnérabilités potentielles. Honnêtement, ce n’est pas une solution que je recommanderais pour un site de production comme le vôtre.

Si j’étais à votre place, je pencherais davantage pour la deuxième option, en utilisant des outils tiers, ou j’envisagerais de soumettre une demande de fonctionnalité ou une demande de travail personnalisé (en fonction de l’évaluation de nos chefs de projet) pour améliorer le plugin Auth0 lui-même.

Si vous souhaitez explorer la dernière option, nous pouvons poursuivre la discussion en privé.

1 « J'aime »