Problem mit Drupal Discourse SSO

Hallo,

ich bin neu bei Discourse und versuche, mein Forum mit einer Drupal-Website einzurichten, und zwar mit dem Discourse-SSO-Modul. Ich habe die Anweisungen des Moduls und dieses Thema befolgt, leider liefert die URL „mydrupalwebsite.com/discourse/sso" einen 404-Fehler.

Seit dem Zeitpunkt dieses Themas gibt es neue Einstellungen für das Modul mit einem API-Schlüssel, aber ich weiß nicht, was ich damit tun soll.

Hat jemand das gleiche Problem?

Vielen Dank

2 „Gefällt mir“

Können Sie einen Link zu dem von Ihnen verwendeten Drupal-Modul teilen? Wenn es sich um das in diesem Beitrag verlinkte Modul handelt, wurde es zuletzt im März 2015 aktualisiert, sodass es sehr wahrscheinlich Probleme damit geben wird.

Dieses Drupal-SSO-Modul wurde im Dezember 2019 aktualisiert: https://www.drupal.org/project/discourse_sso. Es lohnt sich, einen Versuch zu wagen.

3 „Gefällt mir“

Ich verwende die zweite Option mit der neuesten Version.

Ich habe das SSO-Geheimnis und die SSO-URL eingerichtet, und wenn ich mich anmelden möchte, sehe ich, dass es wie erwartet einige Umleitungen gibt, aber /discourse/sso ist eine 404-Seite.

Hat das Modul eine Dokumentation? Der übliche Prozess zum Aktivieren von SSO besteht darin, den SSO-Endpunkt in die Discourse-Siteeinstellung „sso_url

1 „Gefällt mir“

Vielen Dank für Ihre Hilfe. Leider gibt es für das Modul keine weitere Dokumentation als auf seiner Projektseite.

Ich habe nur die Optionen „enable sso“ und „verbose sso logging“ aktiviert, das Feld „sso url“ mit „mywebsite/discourse/sso“ ausgefüllt und das Feld „sso secret“ ergänzt.

Ich habe mich an die Anweisungen des Drupal-Moduls gehalten und die URL des Discourse-Forums sowie das SSO-Geheimnis in die entsprechenden Felder eingegeben.

Trotzdem erhalte ich beim Versuch, mich anzumelden, einen 404-Fehler mit dieser URL:
https://mywebsite/discourse/sso?sso=bm9uY2U9MTJlMmI4ZWNjNzU4ZGE3YTg5ZWIwZDI2MmM5ZTUzOWEmcmV0dXJuX3Nzb191cmw9aHR0cHMlM0ElMkYlMkZmb3J1bXMuc2VnYS1tYWcuY29tJTJGc2Vzc2lvbiUyRnNzb19sb2dpbg%3D%3D&sig=96726cef3a6bb69a0863f66fb0e09ce3edb1ea77f3fd2d9e69cdaf932aede6a2

Hier ist das Protokoll: verbose_sso.txt (5,9 Ko)

Wenn das Problem nicht an meinen Einstellungen in Discourse liegt, wende ich mich erneut an den Entwickler des Moduls.

Nochmals vielen Dank.

Ich habe mir den Protokolleintrag angesehen, aber darin wird der Fehler nicht angezeigt – es ist lediglich der Eintrag für den Start des SSO-Prozesses in Discourse. Kurz nach diesem Eintrag sollte ein weiterer Protokolleintrag erstellt worden sein, der den Fehler tatsächlich zeigt. Könntest du den Vorgang bitte noch einmal durchgehen? Für jeden Anmeldeversuch sollten Verbose SSO-Protokolleinträge vorhanden sein. Der erste Eintrag zeigt den Start des Prozesses in Discourse, der zweite Eintrag bezieht sich darauf, wie Discourse die von deiner Website empfangene Antwort verarbeitet hat.

Möglicherweise gibt es eine weitere relevante Fehlermeldung, die nicht mit dem Text Verbose SSO log beginnt. Schau dir bitte die Protokolleinträge aus dem Zeitraum direkt um den Zeitpunkt deiner SSO-Anfrage herum an.

Ich habe es erneut versucht und bekam drei identische Logmeldungen, die mit der vorherigen übereinstimmen. Wenn ich dem folge, muss das bedeuten, dass von meiner Website überhaupt keine Antwort kommt.

Ja, das klingt für mich richtig. Du könntest versuchen, die getätigten Anfragen zu untersuchen, indem du den Web-Inspector deines Browsers auf dem Reiter „Netzwerk

1 „Gefällt mir“

Hallo,

nur eine kleine Aktualisierung zu diesem Thema: Das Discourse SSO-Modul wurde gepatcht und stürzt die Seite nicht mehr ab.

Es funktioniert jedoch immer noch nicht, da es unmöglich ist, sich nach einer erfolgreichen Anmeldung ordnungsgemäß abzumelden. Ein weiteres Problem wurde eröffnet, falls sich jemand dafür interessieren sollte, es anzuschauen.

1 „Gefällt mir“

Danke für die Rückmeldung! Bitte lass uns wissen, ob das neue Problem mit dem Modul gelöst wird.

Ok, ich bin weiterhin bei meinen Ermittlungen dabei.

Gibt es einen Grund, warum ich mich mit verschiedenen Konten nicht per SSO bei Discourse anmelden könnte? Vielleicht eine Cookie-Einstellung?

Wenn SSO aktiviert ist, werde ich automatisch beim ersten Konto angemeldet, wenn ich mich abmelde und mich erneut anmelden möchte.

Bei deaktiviertem SSO habe ich jedoch keine Probleme.

Es scheint, als wäre das Abmelden bei Discourse nicht mit dem Abmelden auf der SSO-Anbieterseite synchronisiert. Da Sie beim SSO-Anbieter noch angemeldet sind, werden Sie beim nächsten Klick auf den Discourse-Login-Link automatisch authentifiziert, weil Sie beim SSO-Anbieter eingeloggt sind.

Die Discourse-Einstellung „logout redirect“ kann verwendet werden, um Benutzer vom SSO-Anbieter abzumelden. Wenn ein Benutzer sich bei Discourse abmeldet, wird er automatisch zu dieser URL weitergeleitet. Der SSO-Anbieter muss die URL verarbeiten, um den Benutzer abzumelden. Ich kenne Drupal jedoch nicht gut genug, um zu wissen, was genau dafür umgesetzt werden müsste.

1 „Gefällt mir“

Ok, Problem gelöst. Zusammengefasst:

  • Dieses Modul funktioniert einwandfrei, es gibt lediglich einen Fehler mit dem Drupal-Benutzerbild, aber ein Patch steht aus,
  • Dieser Beitrag ist bezüglich der Einstellungen in Discourse falsch: Die sso_url sollte mit /discourse_sso enden, NICHT mit /discourse/sso.
  • Wenn du dich mit mehreren verschiedenen Konten anmelden möchtest, musst du http://mywebsite/user/logout als Weiterleitung nach dem Abmelden festlegen und Ghostery in deinem Browser für deine Discourse-Website deaktivieren, wenn du dieses Plugin verwendest.

Danke für deine Hilfe, @simon!

2 „Gefällt mir“