uniquement pour le développement local. Inutile pour les sites de production
Lorsque vous travaillez sur Discourse en local, il est utile de pouvoir tester toutes les méthodes de connexion différentes. La plupart du temps, nous ne nous soucions pas du processus d’authentification réel ; nous voulons simplement savoir comment Discourse réagira à différentes entrées. Par exemple :
- Que se passe-t-il si l’e-mail n’est pas vérifié ?
- Que se passe-t-il si le fournisseur d’authentification ne nous envoie pas d’adresse e-mail ?
- Que se passe-t-il si le fournisseur d’authentification ne nous envoie pas de nom d’utilisateur ?
- Que se passe-t-il si l’e-mail correspond, mais pas l’UID ?
- Comment fonctionnent les invitations lorsque l’authentification externe est utilisée ?
- À quoi ressemble l’écran de connexion ?
- (Je pourrais continuer indéfiniment ici… mais vous avez compris l’idée)
Jusqu’à présent, la seule véritable option consistait à « configurer une authentification réelle Google/Twitter/OAuth2/etc. sur votre environnement de développement ». Cela fonctionne, mais c’est extrêmement fastidieux, et vous vous retrouvez alors à créer plusieurs comptes Google/Twitter pour tester différentes combinaisons.
J’ai créé quelque chose de plus fluide :
Si vous installez ce plugin localement, il vous fournira un fournisseur d’authentification fictif. Pour Discourse, il fonctionne exactement comme n’importe quel autre fournisseur (par exemple Google, Twitter, OAuth2, OIDC, etc.).
Lorsque vous lancez le flux de connexion, cet écran s’affiche, vous permettant de saisir manuellement toutes les données que vous souhaitez. Les valeurs soumises sont mémorisées via un cookie, ce qui vous permet de répéter facilement la même action. Les champs correspondent au schéma de hachage d’authentification Omniauth.
Il utilise le système ManagedAuthenticator, de sorte que les données sont stockées dans la table user_associated_accounts avec un provider_name de developmentauth.
Il prend également en charge DiscourseConnect ! Pour l’essayer, installez simplement le plugin et activez le paramètre enable_discourse_connect. La prochaine fois que vous vous connecterez, vous verrez tous les champs DiscourseConnect prêts à l’emploi.
N’hésitez pas à l’essayer la prochaine fois que vous travaillez sur l’authentification, et faites-moi savoir s’il y a des améliorations possibles ![]()
Notez qu’il s’agit du plugin d’authentification le moins sécurisé jamais inventé. Par conséquent, il refusera de démarrer dans un environnement de production, et vous devrez définir la variable d’environnement
DISCOURSE_DEV_ALLOW_ANON_TO_IMPERSONATEà1pour qu’il fonctionne.



