Kann mich nicht mit Facebook bei Discourse ID anmelden

Ich habe das Banner auf meta.discourse.org gesehen, das besagte, dass mein Facebook-Social-Login entfernt würde, und mir empfohlen, zu Discourse ID zu wechseln. Also klickte ich auf den Link zu Discourse ID und versuchte, mich mit Facebook anzumelden, aber es schlug fehl.

Es sieht so aus, als wären Ihre Facebook-Einstellungen falsch. Da die Anmeldung mit Facebook noch nicht funktioniert, sollten Sie die Frist am 30. November verlängern.

Funktion nicht verfügbar

Die Facebook-Anmeldung ist für diese App derzeit nicht verfügbar, da wir zusätzliche Details für diese App aktualisieren. Bitte versuchen Sie es später erneut.

2 „Gefällt mir“

Danke für den Bericht, Dan. Ich konnte mich mit meinem Facebook-Konto anmelden, aber ich sehe, dass sich die Prozesse der App-Überprüfung geändert haben. Daher habe ich eine Überprüfungsanfrage eingereicht. Unsere Facebook-App macht nichts Besonderes, sie ermöglicht nur die Anmeldung über Facebook, aber dennoch muss Meta (Facebook) sie überprüfen. Hoffentlich tun sie das bald.

Wir werden prüfen, ob wir die Frist hier auf Meta verlängern können, je nachdem, wie schnell diese Überprüfung abgeschlossen wird.

2 „Gefällt mir“

Ein häufiger Stolperstein bei der Facebook-Anmeldung ist, dass sie für Benutzer funktioniert, die in den Admin-Einstellungen von Facebook als „Entwickler“ der Facebook-App aufgeführt sind, aber nicht für die breite Öffentlichkeit.

Ich glaube, Sie könnten das Problem reproduzieren, indem Sie die Anleitung von Facebook zum Testen der Facebook-Anmeldung befolgen.

1 „Gefällt mir“

Guter Vorschlag, danke. Ich habe das gerade getan und mich mit einem Wegwerf-Konto angemeldet (das weder Administrator noch Entwickler der App ist). Ich habe diesen Bildschirm gesehen:

1 „Gefällt mir“

Es funktioniert jetzt etwas besser, aber immer noch nicht ganz. Ich glaube, Sie haben die Weiterleitungs-URL auf die falsche URL gesetzt.

Zur Reproduktion:

Wenn ich diese Schritte befolge, werde ich zur Homepage von id.discourse.com weitergeleitet. Ich werde nicht zu meta weitergeleitet. Ich werde bei ID angemeldet und die ID-Homepage angezeigt.

Es sei denn, :thinking: es gibt etwas, das von einem früheren meta-Anmeldeversuch bei Ihnen hängen geblieben ist… Können Sie dies in einem anderen Browser reproduzieren?

Ich verwende macOS 26.1. Ich kann den Fehler in Chrome 142.0 reproduzieren, aber nicht in Safari 26.1.

In den Chrome-Entwicklertools sehe ich Folgendes, wobei einige sensible Teile (Parameter code und state) unten durch REDACTED ersetzt wurden:

  • POST an <https://id.discourse.com/auth/facebook>
    • 302 Umleitung zu <https://www.facebook.com/v5.0/dialog/oauth?client_id=1002152602034172&redirect_uri=https%3A%2F%2Fid.discourse.com%2Fauth%2Ffacebook%2Fcallback&response_type=code&scope=email&state=REDACTED>
  • GET an <https://www.facebook.com/v5.0/dialog/oauth?client_id=1002152602034172&redirect_uri=https%3A%2F%2Fid.discourse.com%2Fauth%2Ffacebook%2Fcallback&response_type=code&scope=email&state=REDACTED>
    • 302 Umleitung zu <https://www.facebook.com/privacy/consent/gdp/?params%5Bapp_id%5D=1002152602034172&params%5Bios_fast_app_switch%5D=false&params%5Bfblfb%5D=false&params%5Bkid_directed_site%5D=false&params%5Bblogger_id%5D=%22f4694485-7287-4d8b-b6fb-7b2e24a6eca0%22&params%5Bnext%5D=%22confirm%22&params%5Bredirect_uri%5D=%22https%3A%5C%2F%5C%2Fid.discourse.com%5C%2Fauth%5C%2Ffacebook%5C%2Fcallback%22&params%5Bresponse_type%5D=%22code%22&params%5Breturn_scopes%5D=false&params%5Bscope%5D=%5B%22email%22%5D&params%5Bstate%5D=%22REDACTED%22&params%5Bsteps%5D=%7B%7D&params%5Btp%5D=%22unspecified%22&params%5Bcui_gk%5D=%22%5BPASS%5D%3A%22&params%5Bis_limited_login_shim%5D=false&source=gdp_delegated&cache_buster=-2814008406871994827>, 200 OK
  • GET an <https://www.facebook.com/dialog/consent/complete/?app_id=1002152602034172&close_uri=https%3A%2F%2Fid.discourse.com%2Fauth%2Ffacebook%2Fcallback%3Fcode%3DREDACTED%26state%3DREDACTED%23_%3D_&display=page&is_success_response=1&cache_buster=9053456441950167740&ext=1762813150&hash=AeRPfKHNpn86aMAA2Rk>
    • 302 Umleitung zu <https://id.discourse.com/auth/facebook/callback?code=REDACTED&state=REDACTED#_=->
  • GET an <https://id.discourse.com/auth/facebook/callback?code=REDACTED&state=REDACTED#_=->
    • 302 Umleitung zu <https://id.discourse.com/oauth/authorize?client_id=w6frjy8zGCTX8HN5UoI20Jj0mMq3Z2cwPu-OJVExLbQ&redirect_uri=https%3A%2F%2Fmeta.discourse.org%2Fauth%2Fdiscourse_id%2Fcallback&response_type=code&scope=read&state=REDACTED>
    • ^^ Beachten Sie, dass hier „meta“ von den Antwortheadern von id.discourse.com eingeschleppt wird
  • GET an <https://id.discourse.com/oauth/authorize?client_id=w6frjy8zGCTX8HN5UoI20Jj0mMq3Z2cwPu-OJVExLbQ&redirect_uri=https%3A%2F%2Fmeta.discourse.org%2Fauth%2Fdiscourse_id%2Fcallback&response_type=code&scope=read&state=REDACTED>
    • 302 Umleitung zu <https://meta.discourse.org/auth/discourse_id/callback?code=REDACTED&state=REDACTED>
  • GET an <https://meta.discourse.org/auth/discourse_id/callback?code=REDACTED&state=REDACTED>
    • 302 Umleitung zu /auth/failure?message=csrf_detected&strategy=discourse_id

Und dann lande ich bei <https://meta.discourse.org/auth/failure?message=csrf_detected&strategy=discourse_id> 200 OK :roll_eyes:

3 „Gefällt mir“

Danke, ich kann das unter bestimmten Bedingungen reproduzieren, ich glaube, ich sehe, was passiert.

Wenn ein Benutzer eine Authentifizierung von Meta startet, speichern wir einen Wert für destination_url in der ID-Instanz, damit der Benutzer nach der Authentifizierung dorthin zurückgeleitet werden kann, wo er war. Wenn die Authentifizierung jedoch nicht innerhalb kurzer Zeit abgeschlossen wird (sie schlägt fehl oder der Benutzer bricht die Authentifizierung ab), wird diese destination_url nicht bereinigt, sie bleibt in der Browsersitzung des Benutzers erhalten. Wenn der Benutzer das nächste Mal versucht, sich anzumelden, versucht die ID, zu dieser URL weiterzuleiten, aber da sie eine alte Code-/Zustandskombination aus dem ursprünglichen Authentifizierungsfluss hat, führt die Weiterleitung zu dem Fehler „Entschuldigung, die Autorisierung ist abgelaufen“.

Sie sollte nach kurzer Zeit überhaupt nicht weiterleiten. Wir müssen sicherstellen, dass der Wert destination_url nach 10 Minuten bereinigt wird. Ich glaube, die Code-/Zustandskombination für die Authentifizierung ist nur 10 Minuten gültig, das muss ich noch einmal überprüfen.

3 „Gefällt mir“