Rocket.Chat SSO + Embed-Plugin

I have added this feature to the plugin. Just update it to the latest version and then set the discourse rocketchat default channel setting to empty.

1 „Gefällt mir“

That’s great! I’m going to update and test it as soon as I will be back to my place next week.
Thank you again!

Dieses Plugin verursacht Probleme auf meiner Seite für alle Benutzer:

Nachdem die Schaltfläche “Login CAS” gedrückt wurde, erscheint ein Pop-up mit dem folgenden Link

rocketchat.domain/_cas/BJZ6ef4aSDdeEf5C?ticket=c27a3525gg4ggff7f859f4a3a37c

(Ich habe einige Teile der eingefügten Token aus Sicherheitsgründen randomisiert).

Es ist eine leere Seite, die sich nicht von selbst schließt und der Login wird nicht fortgesetzt, es sei denn, der Benutzer schließt das Fenster. Sobald der Benutzer dieses Pop-up-Fenster schließt, wird der Login fortgesetzt und danach funktioniert alles einwandfrei. Tritt jedes Mal auf, wenn jemand versucht, sich anzumelden, auch für Benutzer, die sich zuvor angemeldet haben.

Konnten Sie den automatischen Redirect zum Laufen bringen? Ich habe das benutzerdefinierte Skript von @RGJ sowie dieses hier CAS Plugin: Add direct login redirect for a CAS-enabled RC instance · Issue #2327 · RocketChat/Rocket.Chat · GitHub ausprobiert, aber ohne Erfolg.

Es gibt dort ein Inline-Skript, um dieses Fenster zu schließen, das wahrscheinlich nicht in Ihrer CSP (Content-Security-Policy) whitelisted ist.
Als schnelle Lösung gehen Sie auf der Rocket.Chat-Seite zu Admin - Allgemein und deaktivieren Sie “Content-Security-Policy aktivieren”. Beachten Sie, dass dies Ihre Website Sicherheitsrisiken aussetzen könnte. Sie sollten das zugrunde liegende Problem beheben.

Bitte beschränken Sie alle Berichte und Anfragen hier auf Probleme mit dem Plugin. Jeder Fehler, der innerhalb von Rocket.Chat oder auf Ihrem Rocket.Chat-Hostname auftritt, sollte als Rocket.Chat-Problem und nicht als Problem von Discourse oder dem Plugin betrachtet werden.

1 „Gefällt mir“

Ich habe die neue Version getestet und sie funktioniert hervorragend! Vielen Dank!

1 „Gefällt mir“

@Mr.X_Mr.X, ich hatte das gleiche Problem mit dem leeren Fenster, das sich nicht schloss, und ich dachte, das Problem läge an etwas, das ich bei der CAS-Konfiguration falsch gemacht habe.
Ich habe die Content-Security-Policy deaktiviert und jetzt schließen sich die weißen Fenster automatisch. Danke Richard, dass du erklärt hast, wo das Problem lag!
Dennoch wäre es großartig zu verstehen, wie man die Ausnahme hinzufügt und diese Sicherheitsfunktion aktiviert.

@RGJ Entschuldigung, dass ich frage, aber hängt dieses Problem nicht mit Ihrem Plugin zusammen? Ist das Inline-Skript nicht in Ihrem Plugin eingebettet? Oder sprachen Sie von einem Inline-Skript, das manuell auf der Rocket.Chat-Seite hinzugefügt wurde?
Vielen Dank nochmals

Nein, es befindet sich im CAS-Popup innerhalb von Rocket.Chat (Sie können sehen, dass die URL des Popup-Fensters auf dem RC-Hostname liegt).

In Ordnung, Entschuldigung, ich verspreche, dass ich nach dieser einzigen Frage keine weiteren stellen werde:
Würden Sie dann vorschlagen, eine Whitelist zum Rocket.Chat CSP hinzuzufügen (wahrscheinlich durch Hinzufügen der Discourse-Domain, nehme ich an)?

Nein, das ist zu 100 % ein Problem auf Seiten von Rocket.Chat. Das Rocket.Chat-JavaScript versucht, ein Rocket.Chat-Popup-Fenster zu schließen, was ihm jedoch aufgrund des Rocket.Chat-CSP nicht erlaubt ist.
Es tritt bei jedem Anmelde-Popup in Rocket.Chat auf, wie CAS oder OAuth2. Wenn Sie danach suchen, werden Sie auch andere Berichte finden.

Großartig. Vielen Dank nochmals für Ihre Erklärung!

Gäbe es eine Möglichkeit, themenspezifische Kanäle zu haben? Wenn das Plugin also zu diesem Thema angezeigt würde, würde der Kanal automatisch auf „rocket-chat-sso-embed-plugin-for-discourse“ gesetzt werden?