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
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
Sem Keycloak, cada sistema poderia possuir seu próprio login.
Com Keycloak:
👤 Funcionário
│
▼
🔐 Keycloak
│
▼
🎫 Token
/ | \
▼ ▼ ▼
Vendas Financeiro RH
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
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
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
No mundo do software:
👤 Usuário
│
▼
🔐 Keycloak
│
▼
🎫 Token
│
┌──┼──┐
▼ ▼ ▼
🌐 🌐 🌐
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)