Configuration DiscourseConnect - Authentification unique officielle pour Discourse (sso)

Je pense que votre question principale concerne le champ external_id. Vous devez définir un champ external_id dans la charge utile DiscourseConnect. La valeur du champ doit être une chaîne de caractères associée à l’utilisateur qui ne changera jamais. Je suppose que votre application a une table users. La clé primaire de l’entrée d’un utilisateur dans cette table serait une bonne valeur à utiliser pour le champ external_id.

Si un utilisateur a créé un compte sur Discourse avant que vous n’ayez ajouté l’authentification DiscourseConnect depuis votre site web, la première fois qu’il se connectera à Discourse via DiscourseConnect, Discourse tentera de trouver l’utilisateur en fonction de l’adresse e-mail qui se trouve dans la charge utile DiscourseConnect. Après avoir trouvé l’utilisateur, un enregistrement sera ajouté à la base de données Discourse qui contiendra l’external_id de la charge utile DiscourseConnect. La prochaine fois que l’utilisateur se connectera, il sera trouvé par l’external_id au lieu de l’adresse e-mail. (Notez que cela ne fonctionne pas si vous définissez le paramètre require_activation dans la charge utile DiscourseConnect sur true.)

Discourse dispose de bonnes solutions de repli pour la plupart des cas limites. Il existe des problèmes liés aux utilisateurs ayant plusieurs comptes et adresses e-mail qui peuvent déclencher des erreurs. Vous trouverez plus de détails sur la gestion de ces cas ici : Débogage et correction des problèmes courants de DiscourseConnect.

1 « J'aime »