Gelegentlich tritt bei Benutzern das Problem auf, dass sie bei jedem Loginversuch aufgefordert werden, ein neues Discourse-Konto einzurichten. Dies geschieht häufig entweder bei Legacy-Konten, die gerade erst wieder in Discourse einloggen, oder wenn sie sich zuvor mit Benutzername und Passwort angemeldet haben und nun versuchen, sich per OAuth einzuloggen. In der Vergangenheit wurde dieses Problem gelöst, indem die Auth0 OAuth2-Anmeldedaten mit der Benutzer-ID in Discourse verknüpft wurden, indem der folgende Befehl in der Rails-Konsole innerhalb der Discourse-Instanz ausgeführt wurde:
Das Problem scheint nun darin zu bestehen, dass dies nicht mehr persistiert. Tatsächlich wird =>True zurückgegeben, wo früher Ok zurückkam. Ich befinde mich an einer Pry-Eingabeaufforderung, was ich in der Vergangenheit nicht für den Fall hielt. Wenn ich Pry verlasse, werde ich auch aus der Rails-Konsole entfernt.
Haben Sie eine Idee, was hier passieren könnte? Vielen Dank!
Entschuldigung für die Verzögerung. Ich musste Discourse upgraden, bevor ich es erneut versucht habe. Ich habe den Versuch unternommen, aber keinen Erfolg gehabt. Unten ist das Beispiel dessen, was ich seitdem versucht habe, das true zurückgibt.
Entschuldigung dafür, @Falco. Wir hatten auch Schwierigkeiten, als Community-Mitglieder im Urlaub waren und wir nicht alle auf dem Laufenden halten konnten. Ich hoffe, du hattest einen schönen Urlaub, und ich entschuldige mich. Ich werde deinen Vorschlag morgen ausprobieren und die Ergebnisse teilen. Vielen Dank nochmals für deine Hilfe
Hallo @Falco, hier ein Update dazu. Wenn ich den oben vorgeschlagenen Befehl ausführe, erhalte ich folgende Meldung:
root@ip-172-31-20-121-app:/var/www/discourse# rails c
HINWEIS: Die Vererbung von Faraday::Error::ClientError ist veraltet; verwende stattdessen Faraday::ClientError. Sie wird in Version 1.0 oder später entfernt werden.
Faraday::Error::ClientError.inherited aufgerufen aus /var/www/discourse/plugins/discourse-github/gems/2.6.5/gems/octokit-4.14.0/lib/octokit/middleware/follow_redirects.rb:14.
[1] pry(main)> UserAssociatedAccount.create!(provider_name: 'oauth2_basic', provider_uid: 'google-apps|nico@auth0.com', user_id: 1722)
ActiveRecord::RecordNotUnique: PG::UniqueViolation: FEHLER: doppelter Schlüsselwert verletzt die eindeutige Einschränkung "associated_accounts_provider_uid"
DETAIL: Schlüssel (provider_name, provider_uid)=(oauth2_basic, google-apps|nico@auth0.com) existiert bereits.
von /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.3/lib/patches/db/pg.rb:69:in `async_exec_params'
Verursacht durch PG::UniqueViolation: FEHLER: doppelter Schlüsselwert verletzt die eindeutige Einschränkung "associated_accounts_provider_uid"
DETAIL: Schlüssel (provider_name, provider_uid)=(oauth2_basic, google-apps|nico@auth0.com) existiert bereits.
von /var/www/discours