Pular para o conteúdo principal

Redirecionamento Automático para Galgo CVM 175

Esta documentação descreve o comportamento de redirecionamento automático dos usuários Galgo para a nova plataforma Galgo CVM 175. Esta funcionalidade permite que usuários com acesso ao serviço Galgo sejam redirecionados automaticamente para a plataforma externa mantendo a sessão autenticada.

Visão Geral

O sistema Hub Fundos implementa um mecanismo de redirecionamento que permite aos usuários acessarem o Sistema Galgo CVM 175 de forma integrada, sem necessidade de realizar novo login. O redirecionamento ocorre quando o usuário acessa a funcionalidade "Sistema Galgo" através do menu principal.

Regra de Redirecionamento

Condição de Identificação do Usuário Galgo

O redirecionamento é aplicado para usuários que atendem às seguintes condições:

  1. Acesso ao Serviço Galgo: O usuário deve ter permissão para acessar o serviço Galgo em seu perfil de usuário
  2. Menu Visível: O menu "Galgo" deve estar habilitado no ambiente (geralmente habilitado em desenvolvimento, UAT e QA)
  3. Usuário Logado: O usuário deve estar autenticado e com sessão ativa no Hub Fundos

O sistema verifica automaticamente se o usuário possui as permissões necessárias antes de permitir o acesso.

URL de Destino

Após a validação, o usuário é redirecionado para a plataforma Galgo CVM 175. A URL de destino varia conforme o ambiente:

  • Ambiente de Desenvolvimento: https://redirect-desenvolvimento.galgomax.com.br/
  • Ambiente de Homologação: https://redirect-homologacao.galgomax.com.br/
  • Ambiente de Produção: http://redirect.galgomax.com.br/

O sistema adiciona automaticamente um código de autenticação na URL para garantir que o usuário seja reconhecido na plataforma Galgo sem necessidade de fazer login novamente.

Momento do Redirecionamento

O redirecionamento acontece quando:

  1. Usuário clica no menu: O usuário acessa o menu "Galgo" no topo da página e clica na opção "Sistema Galgo"
  2. Não é automático: O redirecionamento não ocorre sozinho após o login. É necessário que o usuário clique explicitamente na opção do menu para ser redirecionado

Fluxo de Redirecionamento

Passo a Passo

  1. Clique no Menu: O usuário acessa o menu "Galgo" no topo da aplicação e clica em "Sistema Galgo"

Menu Galgo

  1. Validação de Permissões: O sistema verifica se o usuário possui:

    • Acesso ao serviço GALGO
    • Token de autenticação válido do Keycloak
  2. Chamada ao Serviço de Exchange: O sistema realiza uma chamada ao endpoint /galgoExchange com:

    • Authorization Header: Bearer {keycloak.token}
    • X-Hub-Refresh-Token Header: {keycloak.refreshToken} (para ativar session sync automático)
  3. Obtenção do Token de Sessão: O serviço retorna um objeto contendo:

    {
    "data": {
    "sessionToken": {
    "idToken": "token-gerado-para-galgo"
    }
    }
    }
  4. Redirecionamento: O sistema redireciona o navegador para:

    https://dev-redirect-hubfundos.galgomax.com.br/redirect/cvm175/{idToken}
  5. Feedback ao Usuário: Durante o processo, o usuário recebe notificações:

    • Carregando: "Acessando serviço Galgo..."
    • Sucesso: "Redirecionando para o serviço Galgo..."
    • Erro: "Erro ao acessar serviço Galgo" (em caso de falha)

Implementação Técnica

Componente Responsável

O redirecionamento é implementado no componente Submenu localizado em:

src/components/Header/components/Submenu/index.jsx

Função de Redirecionamento

A função handleGalgoClick é responsável por:

  • Exibir notificação de carregamento
  • Chamar o serviço getGalgoExchange com token e refreshToken
  • Construir a URL de redirecionamento com o idToken retornado
  • Realizar o redirecionamento via window.location.href
  • Tratar erros e exibir mensagens apropriadas

Serviço de Exchange

O serviço getGalgoExchange está localizado em:

src/services/auth/getGalgoExchange.js

Este serviço:

  • Faz uma requisição GET para /galgoExchange
  • Envia o token de autenticação no header Authorization
  • Envia o refresh token no header X-Hub-Refresh-Token (quando disponível)
  • Retorna a resposta com o sessionToken.idToken

Configuração do Menu

O item de menu "Sistema Galgo" está configurado em:

src/components/Header/menu.jsx

Configuração relevante:

{
label: 'Sistema Galgo',
description: 'Link de acesso ao Sistema Galgo',
icon: <AiOutlinePlusCircle />,
url: '/galgo',
onClick: 'galgo-service',
}

O atributo onClick: 'galgo-service' é interceptado pelo componente Submenu para acionar o redirecionamento customizado em vez de navegação interna.

Sincronização de Sessão

O sistema utiliza o refresh token do Keycloak para ativar a sincronização automática de sessão entre o Hub Fundos e o Galgo CVM 175. Isso garante que:

  • A sessão do usuário seja mantida entre as plataformas
  • Não seja necessário realizar novo login no Galgo CVM 175
  • A experiência do usuário seja fluida e integrada

Tratamento de Erros

Em caso de falha no processo de redirecionamento, o sistema:

  1. Exibe uma mensagem de erro ao usuário: "Erro ao acessar serviço Galgo"
  2. Mantém o usuário na aplicação Hub Fundos
  3. Registra o erro para análise (conforme configuração de logging)

Possíveis causas de erro:

  • Token de autenticação inválido ou expirado
  • Falha na comunicação com o serviço de exchange
  • Usuário sem permissão para acessar o serviço Galgo
  • Problemas de rede ou indisponibilidade do serviço de redirecionamento

Considerações de Ambiente

Flag de Controle

O menu Galgo pode ser habilitado/desabilitado por ambiente através da variável de ambiente:

REACT_APP_GALGO_MENU_ENABLED

Valores:

  • '1': Menu habilitado (desenvolvimento, UAT, QA)
  • '0' ou não definido: Menu desabilitado (produção, certificação)