Anmeldeoption teilweise aktivieren

Wir integrieren derzeit unsere Discourse-Community mit einem Discord-Server. Wir verwenden das Discourse Bot-Plugin. Dieses erfordert jedoch, dass die Discord-Anmeldung aktiviert ist, um zu funktionieren.
Wir möchten weiterhin unsere benutzerdefinierte OAuth2-Lösung nutzen, gleichzeitig aber das Verknüpfen von Discord-Konten ermöglichen.

Gibt es eine Möglichkeit, die URL /auth/discord zu aktivieren, ohne die Anmeldeoption tatsächlich zu aktivieren?

Das Einfache dabei ist, den Discord-Button im Anmelde-Modal einfach mit CSS auszublenden.

Ja, aber das ist nicht das, was wir eigentlich erreichen wollen. Das haben wir bereits gemacht. :sweat_smile:

Indem du den Button mit CSS ausblendest, zwingst du das Modal trotzdem dazu, angezeigt zu werden. Zuvor wurde der Benutzer beim Klicken auf den „Anmelden“-Button zu unserem OAuth2-Server weitergeleitet und in einem einzigen Vorgang eingeloggt. Jetzt sehen sie ein Modal und müssen auf „Mit OAuth2“ klicken.
Ist es möglich, Benutzer beim Klicken auf „Anmelden“ direkt zum OAuth2-Flow weiterzuleiten, obwohl zwei Authentifizierungsoptionen verfügbar sind?


Mit zwei aktivierten Optionen und dem Ausblenden per CSS sehen Benutzer Folgendes:

Im Idealfall sollten sie sofort nach dem Klicken auf den „Anmelden“-Button zum OAuth2-Flow weitergeleitet werden.

Ich und @Roman haben vor Jahren eine Lösung für genau dieses Problem entwickelt. Sie war nicht Open Source, da es sich um einen sehr speziellen Anwendungsfall handelt, aber hier ist sie:

https://github.com/discourse/discourse-excluded-logins

Vielen Dank! Genau das haben wir gesucht. :+1: