O Casdoor é um servidor de login de graça e de código aberto, com painel web. Ele guarda as contas de todo mundo, cuida da entrada nos seus sistemas e separa cada cliente seu num espaço próprio, com usuários e a tela de entrada na cor da marca dele.
Ter um lugar só pra cadastro e entrada de usuários, em vez de refazer o login em cada sistema que você entrega.
Separar cada cliente numa organização própria, com os usuários dele e a tela de entrada no tema dele (cor principal e cantos arredondados).
Deixar a pessoa entrar com a conta do Google Workspace, Microsoft Entra ID, GitHub e outros provedores.
Entrar com passkey, a chave guardada no celular ou no computador, sem digitar senha.
Fazer o sistema antigo do cliente (que só entende CAS, um jeito antigo de fazer login) usar as mesmas contas do app novo.
02O que você precisa
Docker instalado (programa que roda apps prontos numa caixa isolada). Funciona no Windows, Mac e Linux
Pelo menos 100 MB de memória livre
Um navegador
03Passo a passo
Instale e abra o Docker. Deixe ele rodando enquanto usa o Casdoor.
Abra o terminal (no Windows, o PowerShell; no Mac, o Terminal) e cole o comando abaixo. Ele já sobe o Casdoor com um banco de dados embutido e dados de exemplo, sem instalar mais nada e sem arquivo de configuração.
docker run -p 8000:8000 casbin/casdoor-all-in-one
No navegador, abra o endereço abaixo. Vai aparecer a tela Welcome to Casdoor. Crie a senha do usuário admin e clique em Set Password.
http://localhost:8000
Entre com organização built-in, usuário admin e a senha que você acabou de criar. Você cai no painel de administração.
Pra cada cliente, crie uma organização em User Management > Organizations. Na página dela, em Theme, escolha a cor principal e o arredondamento dos cantos e salve. Os nomes admin e app não podem ser usados.
Pra ligar o login com Google ou GitHub, vá em Identity > Providers, adicione um provedor, escolha Category OAuth e o Type (Google, GitHub…), cole o Client ID e o Client secret que o Google ou o GitHub te dão e salve. Depois, na página da aplicação, aba Providers, adicione esse provedor e salve.
04Exemplos de uso (e um prompt pro seu agente)
Cliente novo com a marca deleCada vez que você fechar um cliente
No painel: User Management > Organizations > crie a organização [NOME DO CLIENTE].
Abra a página dela e, em Theme, coloque a cor principal [COR DA MARCA, ex.: #0057FF] e o arredondamento dos cantos que combina com o site dele. Salve.
Se um sistema desse cliente precisar de outra cor, abra a página da aplicação, desligue Follow organization theme e escolha a cor só pra ela.
Entrar com GitHub ou GooglePra pessoa não precisar criar mais uma senha
1. No GitHub ou no Google, crie um app de login e coloque como endereço de retorno (callback):
https://[ENDEREÇO DO SEU CASDOOR]/callback
2. Copie o Client ID e o Client secret (o secret é segredo, não mostre pra ninguém).
3. No Casdoor: Identity > Providers > adicionar > Category OAuth > Type [GitHub OU Google] > cole os dois > salve.
4. Na aplicação [NOME DA APLICAÇÃO], aba Providers, adicione o provedor e escolha se ele serve pra cadastro, pra entrada ou pros dois.
Testar sem instalar nadaQuer só ver o painel por dentro antes de instalar
Abra demo.casdoor.com e entre com organização built-in, usuário admin e senha 123.
Pode mexer à vontade: os dados voltam ao começo mais ou menos a cada 5 minutos.
Não coloque dados de verdade lá.
Ligar o seu app no CasdoorCole no Claude Code, Cursor ou outro agente de programação, dentro da pasta do seu app
Quero que o login do meu app [NOME DO APP], que está nesta pasta, passe a ser feito pelo Casdoor que está rodando em http://localhost:8000, na organização [NOME DA ORGANIZAÇÃO].
Use OpenID Connect, que a documentação do Casdoor recomenda pra app novo (casdoor.ai/docs/how-to-connect/overview).
Antes de mexer, me mostre um plano curto: o que eu preciso criar no painel do Casdoor (aplicação, endereço de retorno, Client ID e Client secret) e quais arquivos você vai mudar.
Não escreva o Client secret dentro do código: guarde num arquivo de configuração fora do Git.
Responda em português.
05Antes de usar
O comando de teste é só pra experimentar: os dados ficam dentro do Docker e somem quando você apaga o container. Pra usar com cliente de verdade, a documentação manda usar a imagem casbin/casdoor ligada a um banco de dados seu.
Antes de colocar na internet: troque a senha do admin e só use com https.
O endereço de retorno (callback) que você coloca no Google ou no GitHub é o do Casdoor, não o do seu app. Errar isso é o motivo mais comum do login não funcionar.
A tela de entrada mostra o logo da aplicação, não o da organização. Coloque a logo do cliente na aplicação dele.
É de graça e de código aberto (licença Apache 2.0, que permite uso comercial). O custo é o servidor onde você vai deixar ele rodando.
Resumindo: uma linha no Docker, abre o localhost:8000, cria a senha do admin e cada cliente seu ganha a própria organização, com usuários e a tela de entrada na cor da marca dele.