IdP Keycloak
1. Pré-requisitos
-
Possuir perfil Administrador.
-
Estar devidamente autenticado e autorizado no ContractFlow.
-
Ter acesso ao Provedor de identidade (IdP) que suporte SAML 2.0.
-
Ter informações de configuração fornecidas pelo IdP (Certificado / Metadados).
2. Adicionar Provedor SAML
Passo 1 – Cadastrar provedor no ContractFlow
-
Clique no avatar no canto superior direito da sua área de trabalho.
-
Selecione a opção Gestão de Acesso.
-
No menu lateral, clique em Provedor.
-
Clique em Novo Provedor.
Passo 2 – Definir informações iniciais
-
Título: Nome descritivo do provedor.
-
Tipo: Selecione SAML.
-
Issuer (SP Entity ID): ContractFlow.
-
Callback URL (ACS): copie e guarde para uso no Keycloak.
Passo 3 – Habilitando Single Logout (opcional)
-
Siga até a sessão Configurações - SLO
-
Habilitar Sigle Logout: Ative esta opção.
-
Callback URL (Logout do Provedor de Serviço): copie e guarde para uso no Keycloak.
3. Configuração no IdP Keycloak
Passo 4 – Criar client no Keycloak
-
No menu lateral → Manage.
-
Clique no submenu Clients.
-
Na aba Clients list, clique no botão Create client.
-
Client type: Selecione a opção
SAML. -
Client ID: Preencha com
ContractFlow. -
Clique em Next.
-
Preencha:
-
Valid redirect URIs: informe a Callback URL copiada no ContractFlow.
-
Master SAML Processing URL: informe a Callback URL copiada no ContractFlow.
-
-
Clique em Save.
Passo 5 – Ajustar configurações
-
Após salvar, a tela é atualizada exibindo a aba Settings.
-
Siga até a sessão SAML capabilities.
-
Name ID Format: Selecione a opção
email. -
Siga até a sessão Signature and Encryption.
-
Signature assertion: Ative esta opção.
-
Signature algorithm: Selecione
RSA_SHA256. -
SAML signature key name: Selecione
KEY_ID. -
Canonicalization method: Selecione
EXCLUSIVE. -
Clique em Save.
Passo 6 – Desativar Keys
-
Siga até a sessão Keys.
-
Client keys config: Desative essa opção.
-
Encryption keys config: Desative essa opção.
| ⚠️ Atenção: As keys quando ativas geram erro 500 no momento do redirecionamento do ContractFlow para o Keycloak impossibilitando o login. |
|---|
Passo 7 – Configurando Single Logout (opcional)
-
Siga até a sessão Advanced.
-
Logout Service Redirect Binding URL: informe a Callback URL copiada no ContractFlow em Configurações - SLO
-
Clique em Save.
Passo 8 – Obter metadata do Keycloak
-
No menu lateral → Configure.
-
Clique no submenu Realm settings.
-
Navegue até a opção Endpoints no final da tela
-
Visualize o metadata clicando em SAML 2.0 Identity Provider Metadata
4. Finalizar configuração no ContractFlow
Passo 9 – Relacionar dados
-
No metadata do Keycloak:
- copie a URL de SingleSignOnService do método HTTP-POST.
-
No ContractFlow:
- no campo Single Sign ON (SSO, Entrypoint) cole a url copiada no metadata.
-
No metadata do Keycloak:
- copie o conteúdo do certificado entre
<ds:X509Certificate>e</ds:X509Data>.
- copie o conteúdo do certificado entre
-
No ContractFlow:
- no campo Chave de Certificado (IdP) cole o certificado copiado no metadata.
-
No metadata do Keycloak:
- copie a URL de SingleLogoutService do método HTTP-POST.
-
No ContractFlow:
- no campo URL (Logout do Provedor de Identidade) cole a url copiada no metadata.
-
Clique em Salvar no ContractFlow.
| ℹ️ **Nota:**O recurso Single Logout é opcional, quando configurado, ao realizar logout no ContractFlow a sessão do ContractFlow no IdP também é encerrada. Caso não tenha sido realizada a configuração, o logout ocorre somente na aplicação do ContractFlow, mantendo a sessão no IdP. |
|---|
5. Preferências e regras de uso
Passo 10 – Configurar preferências e regras de uso no ContractFlow
-
No menu lateral, clique em Provedor → Preferências Provedor.
-
Para definir a ordem de prioridade: arraste e solte na posição desejada.
-
Para restringir por domínio de e-mail:
-
Clique no ícone de lápis para editar Regex de email do provedor cadastrado.
-
Informe a Expressão Regular (Regex) que corresponde aos domínios de email que deseja permitir o acesso a este provedor.
-
Clique em Salvar.
-
| **⚠️ Atenção:**Havendo mais de um provedor, não deixe o primeiro sem regex — ele será aplicado como padrão para todos os logins. |
|---|
Passo 11 – Validação
-
Na tela de login do ContractFlow, informe o e-mail de um usuário válido no Keycloak.
-
Clique em Entrar.
-
Você será redirecionado para o login do Keycloak.
-
Informe usuário e senha do Keycloak.
-
Se autenticado com sucesso → redirecionamento ao ContractFlow.
-
O usuário será cadastrado automaticamente no ContractFlow, mas precisará receber permissões para acesso autorizado.
6. Resumo Visual
| Etapa | Ação | Onde Fazer |
|---|---|---|
| 1 | Cadastrar provedor | ContractFlow |
| 2 | Definir informações iniciais | ContractFlow |
| 3 | Habilitando Single Logout (opcional) | ContractFlow |
| 4 | Criar client | Keycloak |
| 5 | Ajustar configurações | Keycloak |
| 6 | Desativar keys | Keycloak |
| 7 | Configurando Single Logout (opcional) | Keycloak |
| 8 | Obter metadata do Keycloak | Keycloak |
| 9 | Relacionar dados | ContractFlow e Keycloak |
| 10 | Configurar preferências e regras de uso | ContractFlow |
| 11 | Validação | ContractFlow e Keycloak |
7. Dicas Finais
-
Sempre valide o login após a configuração.
-
Mantenha um provedor LOCAL ativo para contingência.
-
Configure a regex de email para não bloquear o acesso a um provedor mal configurado.