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

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!

このプラグインは、すべてのユーザーで問題を引き起こしています。

CASログインボタンを押すと、次のリンクが表示されるポップアップが表示されます。

rocketchat.domain/_cas/BJZ6ef4aSDdeEf5C?ticket=c27a3525gg4ggff7f859f4a3a37c

(セキュリティ上の理由から、貼り付けたトークンの一部をランダム化しました。)

これは空白のページで、自動的に閉じず、ユーザーがウィンドウを閉じるまでログインは進みません。ユーザーがこのポップアップウィンドウを閉じると、ログインが進み、その後はすべて正常に機能します。以前にログインしたことがあるユーザーでも、ログインしようとするたびに発生します。

自動リダイレクトは機能しましたか? @RGJのカスタムスクリプトとCAS Plugin: Add direct login redirect for a CAS-enabled RC instance · Issue #2327 · RocketChat/Rocket.Chat · GitHub の両方を試しましたが、うまくいきませんでした。

そのウィンドウを閉じるためのインラインスクリプトがありますが、おそらくCSPでホワイトリストに登録されていません。
簡単な修正として、Rocket.Chat側で「管理」→「一般」に移動し、「Content-Security-Policyを有効にする」を無効にしてください。これはサイトをセキュリティ上の問題にさらす可能性があることに注意してください。根本的な問題に対処する必要があります。

ここでのすべてのレポートとリクエストは、プラグインに関する問題に限定してください。Rocket.Chat内またはRocket.Chatホスト名で発生するエラーは、Discourseまたはプラグインの問題ではなく、Rocket.Chatの問題と見なされるべきです。

「いいね!」 1

新しいバージョンをテストしましたが、素晴らしいです!本当にありがとうございます!

「いいね!」 1

@Mr.X_Mr.X 、私も閉じない空白のウィンドウで同じ問題を経験していましたが、CASの設定で何か間違っていたせいだと思っていました。
Content-Security-Policyを無効にしたところ、白いウィンドウが自動的に閉じるようになりました。問題の原因を説明してくれたRichardさん、ありがとうございました!
それでも、例外を追加してこのセキュリティ機能を有効にする方法を理解できると素晴らしいと思います。

@RGJ 申し訳ありませんが、この問題はあなたのプラグインに関連していませんか?インラインスクリプトはあなたのプラグインに埋め込まれているのではないでしょうか?それとも、ロケットチャット側で手動で追加されたインラインスクリプトについて話していましたか?
重ねて感謝いたします。

いいえ、それはRocket.Chat内のCASポップアップにあります(ポップアップウィンドウのURLがRCホスト名上にあることがわかります)。

わかりました、すみません。この1つの質問の後、もう何も尋ねないことをお約束します。
では、Rocket.Chat CSPにホワイトリストを追加することをお勧めしますか(おそらくDiscourseドメインを追加するのだと思いますが)?

いいえ、これは Rocket.Chat 側の問題です。Rocket.Chat の Javascript は Rocket.Chat のポップアップウィンドウを閉じようとしていますが、Rocket.Chat CSP によって許可されていません。
これは、CAS や OAuth2 のような Rocket.Chat のすべてのログインポップアップで発生します。検索すれば、他の報告も見つかるはずです。

ありがとうございます。重ねて、ご説明いただき感謝いたします!

トピック固有のチャネルを設けることは可能でしょうか?もし、このトピックにプラグインが表示された場合、チャネルは自動的に「rocket-chat-sso-embed-plugin-for-discourse」に設定されますか?