Exemplo de configuração de SSO com Keycloak

Guias básicos BigDataCorp.

1️⃣ Visão geral

Neste guia, você encontra um exemplo prático de configuração de Single Sign-On (SSO) utilizando o Keycloak como Provedor de Identidade (IdP).

🚦

O Keycloak é utilizado apenas como exemplo. A configuração pode variar de acordo com o Provedor de Identidade utilizado pela sua organização.

ℹ️

O SSO permite que seus usuários acessem diferentes sistemas utilizando uma única conta e senha.


2️⃣ Antes de começar

Antes de iniciar a configuração, você vai precisar:

  • Ter acesso ao painel administrativo do Keycloak, incluindo URL, usuário e senha.
  • Conhecer o endereço do aplicativo ou site que será integrado, que chamaremos neste exemplo de URL do Sistema.

3️⃣ Acessando o Keycloak

Abra o navegador e acesse a URL administrativa do seu Keycloak. Ex.: https://seukeycloak.com/auth/admin

Informe seu usuário e senha de administrador e clique em Log In.


4️⃣ Selecionando ou criando um Realm

No Keycloak, um Realm funciona como um espaço isolado para uma empresa ou projeto.

No canto superior esquerdo, localize o menu que exibe o Realm atual. Em muitos ambientes, o Realm inicial é chamado de Master.

Você pode:

  • utilizar um Realm já existente; ou
  • clicar em Create Realm para criar um novo.

Caso opte por criar um novo Realm, informe um nome. Ex.: minha-empresa

Depois, clique em Create.


5️⃣ Criando um Client

No Keycloak, cada sistema que utilizará o SSO é configurado como um Client.

No menu lateral esquerdo:

  1. Clique em Clients.

  2. Clique em Create client.

  3. Preencha os dados básicos:

    • Client ID: escolha um nome para o sistema. Ex.: meu-aplicativo

    • Client Protocol: mantenha openid-connect.

  4. Clique em Next e, em seguida, em Save.


6️⃣ Configurando o acesso

Depois de salvar o Client, você será direcionado para suas configurações.

Localize as seguintes opções:

Informe o endereço para o qual o usuário deverá ser redirecionado com segurança depois de realizar o login no Keycloak. Exemplo: https://meuaplicativo.com/callback

Digite a URL e pressione Enter ou clique no botão +.


Depois de preencher as informações, clique em Save.


7️⃣ Obtendo o Client Secret

Se o sistema integrado exigir apenas um Client ID, esta etapa pode ser ignorada.

Caso também seja necessário informar uma senha secreta, chamada de Client Secret, siga os passos abaixo.

Na tela de configuração do Client:

  1. Certifique-se de que a opção Client authentication esteja habilitada (ON).
  2. Caso seja necessário ativá-la, salve a alteração.
  3. Acesse a aba Credentials.
  4. Localize o campo Client Secret.
  5. Clique no ícone de copiar ao lado do valor exibido.

ℹ️

Guarde o Client Secret, pois ele será utilizado posteriormente na configuração do sistema integrado

❗️

O Client Secret é uma credencial sensível. Armazene essa informação de forma segura


8️⃣ Finalizando a configuração no sistema

Depois de concluir a configuração no Keycloak, você terá as informações necessárias para configurar o SSO no sistema que será integrado.

No painel de configurações desse sistema, informe os dados solicitados para autenticação via OIDC/SSO:

  • URL do Keycloak (Issuer URL / Discovery URL): https://seukeycloak.com/realms/nome-do-seu-realm

  • Client ID: o identificador definido durante a criação do Client.

  • Client Secret: o valor copiado na aba Credentials, caso o sistema solicite essa informação.


9️⃣ Testando a integração

Com a configuração concluída, realize um teste de login no sistema integrado.

Se a integração estiver funcionando corretamente, você será:

  1. direcionado para a tela de autenticação do Keycloak;
  2. solicitado a informar seu usuário e senha;
  3. redirecionado novamente para o sistema após a autenticação.

Se esse fluxo for concluído com sucesso, a integração está funcionando.


💡

Precisa de ajuda?

Se encontrar alguma tela muito diferente das descritas aqui ou aparecer alguma mensagem de erro (como Invalid Redirect URI), tire um print (captura de tela) e envie para a equipe de suporte técnico ou de TI.




Did this page help you?