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
KEY_ID. -
Clique em Save.
Passo 6 – 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 7 – 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 8 – 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>.
-
-
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 9 – 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 10 – 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 |
Configurando Single Logout (opcional) |
Keycloak |
|
7 |
Obter metadata do Keycloak |
Keycloak |
|
8 |
Relacionar dados |
ContractFlow e Keycloak |
|
9 |
Configurar preferências e regras de uso |
ContractFlow |
|
10 |
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.