Rocket.Chat SSO + plugin de incorporação

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 curtida

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!

Este plugin está causando alguns problemas para todos os usuários:\n\nApós pressionar o botão Login CAS, um pop-up surge com o seguinte link\n\nrocketchat.domain/_cas/BJZ6ef4aSDdeEf5C?ticket=c27a3525gg4ggff7f859f4a3a37c \n\n(Eu randomizei algumas partes dos tokens colados por motivos de segurança).\n\né uma página em branco que não se fecha sozinha e o login não prossegue a menos que o usuário feche a janela. Assim que o usuário fecha esta janela pop-up, o login prossegue e tudo funciona bem depois. Acontece toda vez que alguém tenta fazer login, mesmo para usuários que já fizeram login anteriormente.

Você conseguiu fazer a auto-redireção funcionar? Tentei o script personalizado do @RGJ, bem como este CAS Plugin: Add direct login redirect for a CAS-enabled RC instance · Issue #2327 · RocketChat/Rocket.Chat · GitHub, mas sem sucesso.

Existe um script inline lá para fechar essa janela que provavelmente não está sendo permitido na sua CSP.
Como uma solução rápida, no lado do Rocket.Chat, vá em Admin - Geral e desative “Habilitar Content-Security-Policy”. Por favor, note que isso pode expor seu site a problemas de segurança. Você deve resolver o problema subjacente.

Por favor, limite todos os relatórios e solicitações aqui a problemas relacionados ao plugin. Qualquer erro que ocorra dentro do Rocket.Chat ou no seu hostname do Rocket.Chat, deve ser considerado um problema do Rocket.Chat e não um problema do Discourse ou do plugin.

1 curtida

Testei a nova versão e funciona muito bem! Muito obrigado!

1 curtida

@Mr.X_Mr.X, eu estava tendo o mesmo problema com a janela em branco que não fechava e pensei que o problema era devido a algo que eu estava fazendo de errado na configuração do CAS.
Desabilitei o Content-Security-Policy e agora as janelas brancas fecham sozinhas. Obrigado Richard por explicar onde estava o problema!
Ainda assim, seria ótimo entender como adicionar a exceção e habilitar este recurso de segurança.

@RGJ Desculpe perguntar, mas este problema não está relacionado ao seu plugin? O script inline não está embutido em seu plugin? Ou você estava falando sobre um script inline adicionado manualmente no lado do rocket chat?
Muito obrigado novamente

Não, está no pop-up CAS dentro do Rocket.Chat (você pode ver que o URL da janela pop-up está no nome do host do RC).

certo, desculpe, prometo que não perguntarei mais nada depois desta única pergunta:
você sugeriria então adicionar uma lista de permissões ao CSP do rocketchat (provavelmente adicionando o domínio do discourse, eu acho)?

Não, este é 100% um problema do lado do Rocket.Chat. O Javascript do Rocket.Chat está tentando fechar uma janela pop-up do Rocket.Chat, mas não tem permissão para isso de acordo com o CSP do Rocket.Chat.
Isso acontece com todos os pop-ups de login no Rocket.Chat, como CAS ou OAuth2. Se você pesquisar, encontrará outros relatos também.

Ótimo. Muito obrigado novamente pela sua explicação!

Haveria alguma forma de ter canais específicos por tópico? Assim, se o plugin fosse exibido neste tópico, o canal seria automaticamente definido como “rocket-chat-sso-embed-plugin-for-discourse”?