Observação:

Integrar o Rocket.Chat com Domínios de Identidade para Sign-On Único

Introdução

Rocket.Chat é uma plataforma de comunicação de código aberto segura e altamente personalizável para organizações com preocupações sofisticadas de segurança e privacidade. O Rocket.Chat fornece controle total sobre dados e conversas do usuário. A plataforma suporta aplicativos nativos, integração perfeita com aplicativos de terceiros, colaboração entre canais, logon único (SSO) baseado em Security Assertion Markup Language (SAML) e controle de configuração usando APIs.

O Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) é um contêiner para gerenciamento de usuários e funções, federação e provisionamento de usuários, integração segura de aplicativos por meio da configuração do Oracle SSO e administração do Provedor de Identidades (IdP) baseada em SAML/OAuth.

Neste tutorial, automatizaremos a instalação do Rocket.Chat e integraremos o OCI IAM como seu IdP para SSO.

Objetivos

Pré-requisitos

Tarefa 1: Implantar uma Pilha para Instalar o Rocket.Chat e Criar um Aplicativo SAML usando uma Pilha Automatizada do Terraform

Rocket.Chat pode ser implantado usando diferentes métodos. Para este tutorial, usamos a opção Implantar com Docker e Docker Compose. Para obter mais informações, consulte Disponibilizar Rocket.Chat.

Para facilitar a instalação do Rocket.Chat, criamos uma pilha de automação do Terraform. Esta pilha irá:

Observação: verifique os limites de serviço nos recursos a serem criados antes da execução da pilha vinculada. Para obter mais informações, consulte Serviço IAM com Limites de Domínios de Identidade

  1. Faça download da pilha completa Rocket.Chat aqui: Full_Stack_Rocket.Chat.zip.

    Depois que o arquivo zip de pilha completa Rocket.Chat for submetido a download, descompacte o arquivo e substitua o conteúdo do arquivo -rchat.pem pelo conteúdo respectivo da chave privada.

    Observação: Use o OCI Resource Manager na Console do OCI para implantar a pilha para evitar falhas.

  2. Faça log-in na Console do OCI como usuário administrador, navegue até Developer Services e, em Resource Manager, clique em Pilhas.

    Pilhas

  3. Selecione o compartimento e clique em Criar Pilha. Na seção Configurações da pilha, selecione o arquivo zip da pilha baixado na Etapa 1 para implantar a pilha e clique em Próximo.

    Upload de Pilha

    Diretório de Trabalho

  4. Na página Configurar variáveis, informe os detalhes necessários para criar uma instância de computação e outros recursos e clique em Próximo.

    Observação: Para criar uma instância de computação e um balanceador de carga, você precisará de uma VCN existente com conectividade pública.

    Detalhes do Compute

    Detalhes da VCN e do SSO

  5. Na página Verificar, revise os detalhes fornecidos e clique em Criar.

    Revisar Detalhes

  6. Na página Detalhes da pilha, clique em Plano. Você deverá obter uma saída de Êxito.

    Iniciar Tarefa do Plano

    Tarefa do Plano Bem-sucedida

  7. Na página Detalhes da pilha, clique em Aplicar. Você deverá obter uma saída de Êxito.

    Iniciar Candidatura

    Candidatura Bem-sucedida

  8. Você pode encontrar o balanceador de carga anexado à instância de computação que hospeda Rocket.Chat e um aplicativo SAML no seu domínio do serviço IAM após a execução bem-sucedida da pilha.

    Compute

    Balanceador de Carga

    SAML APP

    Observação: A pilha pode levar cerca de 40 minutos para ser executada. Aguarde até que o job seja bem-sucedido.

Tarefa 2: Configurar conta de administração do Rocket.Chat

Nesta tarefa, atualizaremos o arquivo hosts em nosso sistema local e, em seguida, validaremos os recursos implantados.

Para Windows: C:\Windows\System32\Drivers\etc\hosts.

Para Linux: /etc/hosts

Public IP Address of Load Balancer   your-domain-name.com

Acesse Rocket.Chat em https://your-domain-name.com:443 e você será redirecionado para a página de configuração.

Informações sobre o Admin

Informações sobre a Organização

Verificar E-mail

Confirmação

Página de Boas-vindas

Observação: mantenha a senha de administrador protegida. Isso será necessário ao criar um SAML IdP em Rocket.Chat.

Tarefa 3: Criar um SAML IdP em Rocket.Chat para Sign-On Único

  1. Faça log-in na sua instância Rocket.Chat, navegue até Workspace e Settings.

    Espaço de Trabalho

    Configurações

  2. Na janela Definições, informe SAML e clique em Abrir.

    Configurações SAML

  3. Na página Conexão, selecione Ativar. Informe os detalhes a seguir e clique em Salvar alterações. Se for solicitada a senha de administrador, informe a senha.

    • Provedor Personalizado: Digite idcs.

    • Atualizar Ponto de Entrada Personalizado: Informe seu ponto de entrada personalizado. Por exemplo, https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/sso.

    • URL de Redirecionamento SLO IDP: Informe seu URL de redirecionamento SLO IdP. Por exemplo, https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/slo.

    • Emissor Personalizado: Informe o emissor personalizado. Por exemplo, https://your-domain-name.com/_saml/metadata/idcs.

    • Certificado Personalizado: Faça download do Certificado de Assinatura no aplicativo SAML criado usando a pilha e copie o conteúdo.

      Observação: exclua as linhas BEGIN CERTIFICATE E END CERTIFICATE.

    • Conteúdo do Certificado Público: Copie todo o conteúdo do certificado.

    • Tipo de Validação de Assinatura: Selecione Validar Assinatura de Asserção.

    Detalhes da Conexão

    Detalhes da Certificação

    Observação: Use o mesmo valor estático do Provedor Personalizado; caso contrário, o SSO poderá falhar, pois ele é referenciado no aplicativo SAML criado na Tarefa 1.

  4. Na página Geral, na seção Interface do Usuário, atualize o Texto do Botão e outros detalhes se precisar alterá-lo e clique em Salvar Alterações.

    Interface do Usuário

Tarefa 4: Testar o SSO para Rocket.Chat usando o OCI IAM

  1. Abra o navegador e digite o URL para Rocket.Chat https://demo.rocketchat.com:443.

    Login

  2. A página de acesso aos domínios de identidades do OCI IAM é exibida. Use o Nome de Usuário e a Senha do usuário criado anteriormente.

    Login Federado

  3. Após a autenticação bem-sucedida, o usuário é redirecionado para a home page Rocket.Chat.

    Página de Boas-vindas

    Observação: Você deve ter um usuário comum criado no OCI IAM e em Rocket.Chat com o mesmo endereço de e-mail.

Cenários comuns de solução de problemas para Rocket.Chat SSO com o OCI IAM

  1. Certifique-se de ter a opção Permitir compartilhamento de recursos de origem cruzada (CORS) ativada em Domínios, seu domínio, Definições e Definições de sessão.

  2. Se sua instância Rocket.Chat demorar para ser carregada, você poderá tentar usar SSH na instância e reiniciar a composição do Docker com os comandos a seguir.

    	docker compose down
    
    	docker compose up -d
    

Agradecimentos

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.