Integração de login com Keycloak (SSO) no Opa! Suite

Introdução

A integração Single Sign-On (SSO) com Keycloak permite usar uma solução open source robusta para gerenciar autenticação e permissões centralizadas. Opa! Suite se conecta ao Keycloak via OAuth 2.0, trazendo controle avançado sobre grupos, permissões e criação automática de usuários.


Acesso ao formulário

Acesso ao formulário

Caminho: Menu (Integrações > Keycloak > Instalar)

Parâmetros de Configuração

ParâmetroDescrição
Client IDIdentificador da aplicação registrada no Keycloak
Client SecretChave secreta da aplicação para autenticação segura
URL para autenticaçãoEndpoint para redirecionamento inicial ao login (redirect URI)
URL para token exchangeEndpoint OAuth 2.0 para troca do código pelo token de acesso
URL de recursoEndpoint para busca de informações do usuário autenticado
Campo de identificação do usuárioAtributo retornado pelo endpoint de recurso usado para identificar o usuário (ex: “email”)
Scopes (opcional)Escopos OAuth que a aplicação deve solicitar
ClaimName (opcional)Caminho no JSON da resposta que indica o grupo/equipe do usuário para mapear permissões no Opa!
Criação de novos usuários (opcional)Permite que usuários não existentes no Opa! Suite sejam criados automaticamente com permissões mapeadas
Permissão padrão (opcional)Permissão padrão atribuída quando o mapeamento do grupo não é encontrado ou falha
Mapeamento de permissões (opcional)Relaciona permissões do Keycloak com grupos/permissões do Opa! Suite para controle detalhado

Como configurar

1. Prepare o Keycloak

  • Registre uma nova aplicação (client) no Keycloak.

  • Configure as URLs de redirecionamento (redirect URIs) para o endereço do Opa! Suite.

  • Defina os escopos necessários para a autenticação e informações do usuário.

2. Obtenha os endpoints OAuth 2.0

  • URL para autenticação: URL para onde o Opa! Suite redirecionará para que o usuário faça login (exemplo: https://seu-keycloak/auth/realms/seu-reino/protocol/openid-connect/auth).

  • URL para token exchange: Endpoint para trocar o código de autorização pelo token (exemplo: https://seu-keycloak/auth/realms/seu-reino/protocol/openid-connect/token).

  • URL de recurso: Endpoint para recuperar informações do usuário autenticado (exemplo: https://seu-keycloak/auth/realms/seu-reino/protocol/openid-connect/userinfo).

3. Configure o Opa! Suite

  • No menu Integrações > Keycloak > Instalar, preencha os campos obrigatórios: Client ID, Client Secret, URLs e Campo de identificação do usuário (ex: email).

  • Opcionalmente, preencha os campos avançados para controlar permissões e criação de usuários.


Como funciona o login

  1. O usuário acessa o Opa! Suite e clica em “Entrar com Keycloak”.

  2. O sistema redireciona para o Keycloak, onde o usuário faz o login.

  3. Após autenticação, Keycloak retorna um token de acesso para o Opa! Suite.

  4. Opa! Suite usa o token para consultar os dados do usuário e identificar seu e-mail e grupos.

  5. Se a opção de criação automática estiver ativa e o usuário for novo, ele será criado no sistema com as permissões mapeadas.

  6. Caso contrário, o acesso será liberado apenas se o usuário já estiver cadastrado com as permissões corretas.


Observações importantes

  • Criação automática de usuários: Use essa funcionalidade com cautela, atribuindo permissões mínimas por padrão para evitar riscos de segurança.

  • ClaimName e mapeamento: O mapeamento correto dos grupos via ClaimName é essencial para garantir que os usuários recebam as permissões adequadas no Opa! Suite.

  • Campos obrigatórios: Sem URLs corretas ou Client ID/Secret válidos, a autenticação falhará.

  • Segurança: Mantenha os segredos protegidos e monitore acessos regularmente.


Considerações Finais

Integrar o Keycloak ao Opa! Suite é a solução tradicional e poderosa para empresas que buscam controle granular de acesso e autenticação unificada. Com as configurações corretas, você garante uma experiência segura e escalável para seu time.


Etiquetas

SSO Keycloak OAuth2 Autenticacao Seguranca Integracao


Leia também