Ich möchte den Zugriff auf bestimmte Seiten unserer Website einschränken, je nachdem, ob jemand ein Mitgliedskonto in unserem privaten Discourse hat. Vermutlich würde ich auf diesen Seiten überprüfen, ob der Benutzer zu diesem Zeitpunkt in Discourse angemeldet ist.
Ich habe es noch nicht ausprobiert, aber der Parameter prompt könnte für Ihren Fall nützlich sein:
prompt: Wenn prompt=none, wird die SSO-Anfrage als „nur prüfen“-Anfrage behandelt. Wenn der Browser/das Gerät bereits bei Discourse angemeldet ist, gibt Discourse wie gewohnt eine erfolgreiche SSO-Antwort mit Benutzerauthentifizierungsinformationen zurück. Wenn der Browser/das Gerät nicht bereits angemeldet ist, fordert Discourse den Benutzer nicht zur Anmeldung auf und gibt stattdessen sofort eine SSO-Antwort mit dem Parameter failed=true anstelle von Benutzerinformationen zurück. Dies bietet einen Mechanismus, um abzufragen, ob der Benutzer angemeldet ist, ohne den Benutzer jemals zu einem Anmeldedialog weiterzuleiten, wenn er nicht angemeldet ist.
Das sieht vielversprechend aus, @simon. Mir war nicht bewusst, dass DiscourseConnect überhaupt funktionieren kann, ohne enable discourse connect zu aktivieren, aber anscheinend kann es das!
Ich werde einige Tests durchführen und berichten – danke, dass du mich auf diese Spur gebracht hast!
Ich frage mich, ob die Verwendung von Discourse als Authentifizierungsanbieter aufgrund seines Namens (DiscourseConnect) übersehen wird. Wenn Sie beispielsweise nur den Begriff DiscourseConnect in einen Beitrag hier einfügen, wird ein Link zum Thema erstellt, in dem es darum geht, eine externe Website als Authentifizierungsanbieter für Discourse zu verwenden. Die Verwendung von Discourse als Authentifizierungsanbieter ist eine meiner Hauptbegründungen für die Einrichtung einer Discourse-Website.
@simon Ich wollte mich nur noch einmal melden und dir danken. Ich denke, dein früherer Vorschlag ist die richtige Antwort. Ich hatte Schwierigkeiten, ihn auf meiner Website zu implementieren, aber das Problem scheint hauptsächlich darin zu liegen, dass es sich um ein halb-kundenspezifisches CMS mit viel wackeligen Code handelt, der im Weg ist.