Hoje em dia, serviços estão muito mais comuns do que imaginamos. Então é tendência que softwares, programas e sistemas se comuniquem. Um servidor SSO(Single Sign On) resolve todos os problemas que podemos ter de autenticação de uma só vez. Vamos explicar bem neste post sobre como ele atua. Além disso, teremos um exemplo prático de como integração-lo a um servidor Django.
O que é SSO?
O SSO centraliza todos usuários e suas informações em um único lugar. Vamos supor um cenário com 3 aplicações: A, B e C. No seu primeiro acesso ao sistema A, este o redirecionará para a página do SSO, que fará a autenticação e retornará o resultado. Uma vez logado em A, basta agora acessar B e C, pois os acessos estarão liberados. Lindo, não?
Hands On
Vamos a prática, meus caros. Vocês podem acompanhar aqui neste link o que o desenvolvedor, Thiago Nogueira, da Mundo DevOps, preparou: repositório.
Começo rápido
- Clone este repositório
- Crie uma janela de encaixe Keycloak
docker run --name keycloak -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=password jboss/keycloak
- Configurar servidor Keycloak – Veja como configurar o servidor na wiki Keyclaok Configuration
- Instalar requirements.txt
pip install -r requirements.txt
- Configuração Django-KeycloakVeja como configurar o Django-Keycloak lib no wiki Configuração do Django-Keyclaok
- Executar migrações Django
python manage.py migrate
- Execute o aplicativo Django
python manage.py runserver
Informações do servidor keycloak
- usuário: admin
- senha: password
- servidor de url: http: // localhost: 8080