DEV Community

pcgustavo7
pcgustavo7

Posted on Edited on

Keycloak: a portaria central das aplicações

O Keycloak pode ser comparado à portaria central de vários prédios.

Em vez de cada aplicação ter seu próprio sistema de login, senha e recuperação de conta, podemos utilizar o Keycloak para centralizar essa responsabilidade.

O usuário faz login uma vez e recebe um token, que funciona como um "crachá digital". Esse token permite que ele acesse outras aplicações que estão conectadas ao Keycloak sem precisar digitar a senha novamente.

Como funciona?

Sem um sistema centralizado, cada aplicação poderia ter seu próprio login:

```text id="kc001"
👤 Usuário
│
├──► 🌐 Sistema 1
│ 🔑 Login
│
├──► 🌐 Sistema 2
│ 🔑 Login
│
└──► 🌐 Sistema 3
🔑 Login




Isso significa que o usuário pode precisar fazer login várias vezes.

Com o Keycloak:



```text id="kc002"
             👤 Usuário
                  │
                  ▼
             🔐 Keycloak
             (Login)
                  │
                  ▼
             🎫 Token
             /       \
            ▼         ▼
       🌐 Sistema 1  🌐 Sistema 2
Enter fullscreen mode Exit fullscreen mode

O usuário se autentica no Keycloak e, depois disso, o token pode ser utilizado para acessar os sistemas conectados.

O que é esse "token"?

O token é uma informação digital que representa que o usuário foi autenticado.

Podemos imaginar como um crachá:

```text id="kc003"
🔐 Login
│
▼
┌─────────────┐
│ 🎫 CRACHÁ │
│ DIGITAL │
└─────────────┘
│
┌────┴────┐
▼ ▼
🌐 Sistema 1 🌐 Sistema 2




Em vez de entregar sua senha para cada sistema, o usuário apresenta esse "crachá digital".

> **Importante:** o token não é simplesmente a senha do usuário. Ele é utilizado para informar aos sistemas que aquele usuário já foi autenticado.

### Um exemplo simples

Imagine uma empresa que possui três sistemas:



```text
🏢 Empresa

🌐 Sistema de Vendas
🌐 Sistema Financeiro
🌐 Sistema de RH
Enter fullscreen mode Exit fullscreen mode

Sem Keycloak, cada sistema poderia possuir seu próprio login.

Com Keycloak:

                 👤 Funcionário
                       │
                       ▼
                  🔐 Keycloak
                       │
                       ▼
                    🎫 Token
                  /     |     \
                 ▼      ▼      ▼
              Vendas Financeiro RH
Enter fullscreen mode Exit fullscreen mode

O funcionário realiza o login no Keycloak e pode acessar os sistemas autorizados.

Além do login

O Keycloak também oferece recursos relacionados à autenticação, como:

🔐 Login
🔄 Recuperação de senha
🎫 Tokens
👤 Gerenciamento de usuários
🌐 Login com Google
🌐 Login com outras contas
Enter fullscreen mode Exit fullscreen mode

Isso evita que o desenvolvedor precise criar todos esses recursos do zero.

Keycloak controla o que o usuário pode acessar?

Ele pode participar desse processo através de permissões e funções (roles).

Por exemplo:

👤 João
   │
   ├── 🎫 Funcionário
   │       └── Acesso ao sistema de vendas
   │
   └── 🔑 Administrador
           └── Acesso ao painel administrativo
Enter fullscreen mode Exit fullscreen mode

Assim, diferentes usuários podem ter diferentes níveis de acesso dentro das aplicações.

Resumindo

Keycloak é uma solução que centraliza a autenticação e o gerenciamento de acesso de usuários em diferentes aplicações.

Ele funciona como uma portaria central: o usuário se identifica uma vez, recebe seu "crachá digital" e pode utilizá-lo para acessar os sistemas que estão conectados e autorizados.

Exemplo do dia a dia 🏢

Imagine um condomínio com vários prédios.

Em vez de cada prédio fazer um cadastro completamente diferente, existe uma portaria central:

              👤 Pessoa
                 │
                 ▼
          🏢 Portaria Central
             🔐 Identificação
                 │
                 ▼
             🎫 Crachá
            /    |    \
           ▼     ▼     ▼
         🏢 A   🏢 B   🏢 C
Enter fullscreen mode Exit fullscreen mode

No mundo do software:

👤 Usuário
    │
    ▼
🔐 Keycloak
    │
    ▼
🎫 Token
    │
 ┌──┼──┐
 ▼  ▼  ▼
🌐 🌐 🌐
Enter fullscreen mode Exit fullscreen mode

A portaria é o Keycloak, o crachá é o token e os prédios são as aplicações.

Para lembrar

Keycloak = autenticação centralizada + usuários + tokens + controle de acesso.

Top comments (0)