Discourse pourrait-il offrir un service d'authentification unique / fédéré similaire à StackExchange ?

Je vois Discourse partout et je ne pourrais pas être plus heureux ! Il semble qu’il devienne rapidement le choix standard pour les communautés souhaitant mettre rapidement en place de nouveaux forums de discussion ou remplacer des forums existants basés sur d’anciennes plateformes et des modèles d’expérience utilisateur obsolètes.

Cependant, d’une certaine manière, il semble être victime de son propre succès : chaque fois que je veux poster sur une nouvelle communauté Discourse, je dois créer un compte, définir un mot de passe, etc. Certaines communautés ont pris la peine de configurer OAuth via GitHub, les réseaux sociaux, etc., mais beaucoup ne l’ont pas fait. Je dois créer et vérifier un nouveau compte sur leur serveur Discourse juste pour poser une question, donner une réponse, ou même :heart: une réponse que j’ai trouvée utile.

Comparez cela à mon expérience sur le réseau StackExchange, où on me propose un bouton « Rejoindre cette communauté » sur une communauté avec laquelle je souhaite interagir pour la première fois. Lorsque je clique sur ce bouton, on me propose de m’inscrire en utilisant mon identifiant d’une autre communauté :

Le nouveau compte est automatiquement créé et connecté en un seul clic.

Je pense que mon problème vient du fait qu’il existe une hypothèse implicite selon laquelle chaque communauté Discourse est une île isolée, et que les utilisateurs passent leur journée connectés à un seul forum, attendant de voir des réponses et de nouvelles questions, s’amusant en gagnant des badges et en accumulant des privilèges. En réalité, la grande majorité des interactions des utilisateurs sont motivées par un besoin précis, et seuls quelques utilisateurs ancrent les communautés en y participant régulièrement. Je pense que l’interaction typique d’un utilisateur avec une communauté Discourse ressemble à ceci :

  1. Avoir un problème
  2. Chercher une réponse sur Google
  3. Ne pas trouver de solution nulle part sur internet, y compris sur le forum Discourse du groupe concerné
  4. Décider que mon problème est suffisamment urgent pour créer un compte sur le forum
  5. Poser ma question ou commenter une question existante
  6. Recevoir une réponse de quelqu’un, ou finir par trouver la solution par moi-même
  7. Si j’ai trouvé la solution par moi-même et que je me sens proactif, revenir sur le forum Discourse pour partager ma solution
  8. Retourner à ma vie quotidienne
  9. Des années plus tard, avoir un autre problème et essayer de me souvenir de mes identifiants pour me reconnecter au forum
  10. Répéter les étapes 5 à 10

Une grande partie de ce processus est entravée par la nécessité de créer un nouveau compte pour chaque nouveau forum auquel je souhaite participer.

Je réalise que les communautés StackExchange sont gérées par une entreprise centrale, tandis que les communautés Discourse sont hébergées de manière complètement décentralisée, mais il semble que cela pourrait être mis en œuvre en établissant un service de fournisseur d’identité propre à Discourse. Contrairement à l’intégration de services comme GitHub ou Facebook, où l’administrateur du forum doit effectuer des étapes actives sur un site externe pour configurer OAuth avec ces fournisseurs, il semble que les jetons nécessaires pour un bouton « Se connecter avec Discourse » pourraient être automatiquement configurés lors du processus d’installation standard.

Je sais qu’il y a eu d’autres discussions à ce sujet, mais elles semblent trop complexes dans leur portée et s’être égarées.

2 « J'aime »

Il s’agit d’un type de fédération différent, reliant Discourse à des outils comme Mastodon pour les publications et les réponses (par opposition à la connexion).

Vous devriez consulter Discourse SSO, qui fait l’objet de discussions dans divers sujets sur meta.

1 « J'aime »

Ce que vous décrivez a été beaucoup discuté au début de Discourse. Il existe un tag pour cela : #discourse_hub

Le sujet le plus récent date de 2014 :

(Au passage, je viens de remarquer que Jeff utilise le nom @david comme exemple, bien des années avant que je ne connaisse même Discourse :joy:)

C’est une idée très cool, mais il y a beaucoup d’obstacles sur le chemin.

6 « J'aime »

Super, merci ! Il semble que SE ait résolu bon nombre des problèmes décrits dans ce fil de discussion au cours des six dernières années (par exemple, il utilise une combinaison de nombre et de nom d’utilisateur comme identifiant unique pour les utilisateurs).

Le cœur du problème semble être que, contrairement à SE, Discourse est décentralisé, chaque communauté étant entièrement contrôlée par celui qui gère le(s) serveur(s) sur lequel(s) elle s’exécute. Je soutiendrais également que les administrateurs qui ne souhaitent pas céder un peu de contrôle pour rendre leur communauté plus accessible pourraient tout à fait avoir la possibilité de se retirer du Discourse Hub, en ayant conscience que cette décision entraîne un coût sous la forme d’une accessibilité et d’un engagement des utilisateurs réduits.

Nous pourrions tout à fait intégrer une connexion sociale par défaut au fournisseur « DiscourseHub », activée par défaut et incluant des fonctionnalités supplémentaires comme une prise en charge complète de tous les champs par défaut (nom d’utilisateur, nom, e-mail, avatar, biographie) et même offrir une synchronisation bidirectionnelle (essayer de récupérer le compte utilisateur fraîchement créé et publier certaines informations sur le profil central, telles que les badges et les meilleurs messages). Nous pourrions même l’utiliser pour promouvoir les meilleures pratiques, comme une longueur minimale élevée pour les mots de passe et l’obligation de l’authentification à deux facteurs.

Maintenant, si nous devrions le faire est une excellente question ouverte.

3 « J'aime »

Dans quelle mesure un annuaire géré de manière centralisée (par nous) résoudrait-il ce problème ?

Vous devrez toujours créer un nouveau compte sur chaque site, et chaque site peut exiger (par exemple) différents champs lors de l’inscription. Nous pourrions remplir la plupart d’entre eux, mais vous devrez tout de même les confirmer. L’avatar est déjà bien pris en charge, par exemple par Gravatar.

Concernant la mémorisation de vos identifiants : la connexion par e-mail est la meilleure façon d’utiliser ces communautés auxquelles vous vous connectez rarement — je l’utilise chaque fois qu’elle est activée.

J’aimerais voir un problème concret qui nécessite d’être résolu avant d’envisager de devenir un autre fournisseur d’identité. Je considère la décentralisation comme une fonctionnalité, et non comme un défaut :slight_smile:

6 « J'aime »

Sur ce sujet… un composant de thème que je soutiens à 100 % est un changement qui rend l’authentification entièrement basée sur l’email.

  • Pour s’inscrire… il suffit de saisir l’adresse email, le nom d’utilisateur, le nom… sans mot de passe
  • Pour se connecter… il suffit de saisir l’adresse email… sans mot de passe

Nous prenons déjà en charge la connexion sans mot de passe via email, mais cela est quelque peu caché. Supprimer le mot de passe rendrait cela complètement évident et éliminerait une bonne partie des frictions.

Clairement pas une configuration par défaut de Discourse pour le moment, mais un composant de thème très intéressant à mon avis.

1 « J'aime »