Ich versuche derzeit, die Auth0-Authentifizierung in meine Discourse-App zu integrieren. Ich habe im Wesentlichen den Workflow hier befolgt und es funktioniert.
Ich bin jedoch aus mehreren Gründen nicht ganz zufrieden damit:
Nach dem Klicken auf Anmelden/Registrieren gibt es nur eine Schaltfläche „mit Auth0“. Ich möchte, dass das Auth0-Login-/Registrierungsfenster das Einzige ist, was nach dem Klicken auf Anmelden/Registrieren oben auf der Discourse-Seite angezeigt wird.
Nach der Authentifizierung mit Auth0 sollten die Benutzer kein neues Konto erstellen müssen, sondern alles sollte dank Auth0 in Ordnung sein.
Die E-Mail-Authentifizierung sollte über Auth0 und nicht über Discourse erfolgen oder erfolgt sein.
Wenn Sie sich in diesem Browser bereits über Auth0 angemeldet haben, möglicherweise mit derselben App von Auth0 in einem anderen Modul unserer Plattform, sollten Sie automatisch angemeldet werden.
Es sollte immer noch die Möglichkeit geben, sich als Administrator anzumelden, da dies nach der Implementierung von Punkt 1 möglicherweise schwieriger wird.
Können Sie mir helfen, alles oder zumindest Teile davon einzurichten?
Ich glaube, Sie können diese Einstellung in Discourse auth_overrides_email dafür überprüfen.
Und Sie können diese Einstellung dafür verwenden: auth_skip_create_confirm
Überspringen Sie beim Anmelden über externe Authentifizierung das Popup zum Erstellen eines Kontos. Am besten in Verbindung mit auth_overrides_email, auth_overrides_username und auth_overrides_name.
Es gibt auch die Einstellung auth_immediately, die das tun könnte, was Sie suchen:
Leiten Sie den Benutzer automatisch zum externen Anmeldesystem weiter, ohne dass eine Benutzerinteraktion erforderlich ist. Dies wird nur wirksam, wenn login_required true ist und nur eine externe Authentifizierungsmethode vorhanden ist.
Sie können /u/admin-login besuchen, um OAuth zu umgehen.
Ich glaube, diese Einstellungen auth_immediatley und auth_skip_create_confirm werden die Punkte 1 und 4 ansprechen. Können Sie sie aktivieren und sehen, ob sich dadurch etwas verbessert?
Darüber hinaus habe ich versucht, mich mit meiner Test-E-Mail anzumelden, und es wird immer noch eine E-Mail-Authentifizierung verlangt, obwohl die E-Mail bei Auth0 authentifiziert ist.
Versuchen Sie, die Einstellung enable local logins zu deaktivieren. Dies sollte die Möglichkeit zur lokalen Anmeldung entfernen und Ihren Benutzern nur die Option der Anmeldung mit OAuth2 lassen.
Ich würde empfehlen, dies in einer separaten Browsersitzung zu tun. Auf diese Weise können Sie alle vorgenommenen Änderungen rückgängig machen, wenn Sie Konfigurationsprobleme haben, ohne die Möglichkeit zur Anmeldung zu verlieren.
Danke für die Einblicke. Ich habe einige Fortschritte gemacht, aber leider gibt es immer noch ein kleines Problem mit dem Login. Immer wenn ich auf die Login-Schaltfläche klicke, werden die korrekten Informationen für den Benutzer von Auth0 abgerufen, aber Discourse versucht immer noch, ein Konto zu erstellen.
Ich werde zu einem Bildschirm Willkommen, lass uns dein Konto erstellen weitergeleitet, auf dem die Fehlermeldung Primäre E-Mail ist bereits vergeben angezeigt wird.
Hier ist meine aktuelle Konfiguration für alle Überschreibungen:
Ich liebe dieses Plugin. Ich stelle fest, dass es mich bei der Abmeldung von Discourse abmeldet. Aber wenn ich auf Anmelden klicke… meldet es mich sofort wieder an (ohne zu Auth0 zu gehen). Ich habe die Logout-URI in meiner Auth0-App zugelassen, aber es sieht so aus, als ob https://AUTH0_DOMAIN/v2/logout von diesem Plugin nie aufgerufen wird. Wer pflegt das? Kann das hinzugefügt werden?