image

Access unlimited bootcamps and 650+ courses

33
%OFF
Jonathas Miante
Jonathas Miante05/01/2026 21:57
Share

SSO Miante: Autenticação Centralizada e Single Sign-On em Projetos Django

    Introdução

    Em ambientes corporativos, onde múltiplas aplicações compartilham usuários, regras de acesso e requisitos de segurança, a centralização da autenticação deixa de ser um diferencial e passa a ser uma necessidade arquitetural. A manutenção de usuários duplicados, políticas inconsistentes de acesso e múltiplos fluxos de login gera complexidade operacional, riscos de segurança e retrabalho constante.

    O sso_miante surge como uma solução prática e modular para esse cenário, oferecendo uma implementação de Single Sign-On (SSO) nativa para projetos Django, com foco em simplicidade, reutilização e governança centralizada de usuários.

    PyPi: https://pypi.org/project/sso-miante/

    O que é o sso_miante

    O sso_miante é uma biblioteca Django voltada à centralização da autenticação e da gestão de usuários entre múltiplas aplicações. Seu principal objetivo é permitir que diferentes sistemas Django compartilhem:

    • Base única de usuários
    • Sessões autenticadas
    • Regras padronizadas de acesso

    A biblioteca é composta por dois aplicativos distintos, porém complementares:

    • Aplicativo principal (SSO Server)
    • Responsável pela autenticação, cadastro de usuários e gestão dos aplicativos clientes.
    • Aplicativo cliente (SSO Client)
    • Integrado aos sistemas consumidores, delegando o processo de login ao servidor SSO de forma transparente.

    Essa separação permite uma arquitetura limpa, escalável e alinhada às boas práticas de sistemas distribuídos.

    Quando utilizar

    O sso_miante é indicado para projetos que demandam:

    • Login unificado entre múltiplos sistemas Django
    • Padronização de autenticação e autorização
    • Governança centralizada de usuários
    • Redução de redundância na gestão de credenciais
    • Facilidade de integração com novos sistemas

    É especialmente útil em ambientes corporativos, plataformas internas, ecossistemas de aplicações e soluções modulares.

    Instalação

    A instalação é simples e realizada via PyPI:

    pip install sso-miante
    

    Configuração do Projeto Principal (SSO Server)

    O projeto principal será o núcleo da autenticação, onde os usuários ficam centralizados e onde os aplicativos clientes são cadastrados.

    1. Registrar o aplicativo no Django

    No arquivo settings.py:

    
    INSTALLED_APPS = [
      ...
      'sso_miante',
    ]
    

    2. Configurar as URLs

    No arquivo urls.py do projeto:

    
    from django.urls import path, include
    
    urlpatterns = [
      ...
      path("", include("sso_miante.urls")),
    ]
    

    3. Executar as migrações

    
    python manage.py migrate
    

    4. Iniciar o servidor

    Exemplo de execução local:

    
    python manage.py runserver 127.0.0.1:8000
    

    5. Acessar o painel administrativo do SSO

    Após iniciar o servidor, acesse:

    
    http://127.0.0.1:8000/sso/
    

    Importante: substitua http://127.0.0.1:8000/ pelo domínio real do ambiente (homologação ou produção).

    Cadastro de Aplicativos Clientes

    No painel administrativo do SSO:

    1. Clique em Novo
    2. Informe o nome do aplicativo
    3. Copie e armazene com segurança: ID APP e SECRETS APP
    4. Informe os servidores (HOSTs) autorizados a realizar login (Caso haja mais de um, informe um por linha)

    Após esses passos, o aplicativo cliente estará habilitado para autenticação via SSO.

    Esse processo pode ser repetido quantas vezes forem necessárias para novos sistemas.

    Configuração dos Projetos Adicionais (SSO Clients)

    Os projetos adicionais são os sistemas que consomem o login centralizado.

    1. Instalação

    
    pip install sso-miante
    

    2. Registrar o aplicativo cliente

    No settings.py:

    
    INSTALLED_APPS = [
      ...
      'sso_miante_client',
    ]
    

    3. Configurar variáveis de integração

    Ainda no settings.py, adicione:

    
    SSO_MIANTE_ID = 'APP_ID'  # Gerado no projeto principal
    SSO_MIANTE_SECRETS = 'SECRETS'  # Gerado no projeto principal
    SSO_MIANTE_URL = 'http://127.0.0.1:8000/sso/userinfo/'  # Ajuste para o domínio real
    
    LOGIN_URL = "sso_login"
    LOGOUT_REDIRECT_URL = "sso_login"
    

    Essas variáveis estabelecem a confiança entre o sistema cliente e o servidor SSO.

    4. Configurar as URLs do cliente

    No urls.py do projeto:

    
    from django.urls import path, include
    
    urlpatterns = [
      ...
      path("", include("sso_miante_client.urls")),
    ]
    

    A partir desse ponto, o sistema já estará integrado ao fluxo de autenticação centralizado.

    Arquitetura e Boas Práticas

    O sso_miante segue princípios importantes de arquitetura:

    • Separação clara de responsabilidades (server x client)
    • Baixo acoplamento entre aplicações
    • Reutilização de templates e arquivos estáticos embarcados
    • Compatibilidade com versões modernas do Django
    • Facilidade de manutenção e expansão

    Essa abordagem reduz riscos operacionais e facilita a evolução do ecossistema de aplicações.

    Histórico de Versões

    • 0.0.9 ou anteriores - Versões beta, destinadas apenas a testes (Não recomendado para uso)
    • 1.0.0 - Primeira versão oficial e estável do projeto

    Conclusão

    O sso_miante oferece uma solução objetiva, robusta e alinhada às boas práticas para autenticação centralizada em ambientes Django. Sua adoção reduz complexidade, melhora a governança de usuários e cria uma base sólida para crescimento de sistemas integrados.

    Para equipes que mantêm múltiplas aplicações Django e buscam padronização, segurança e escalabilidade, o sso_miante representa uma escolha estratégica.

    Espero que tenham gostado do Artigo

    Share
    Recommended for you
    Microsoft Certification Challenge #5 - AI 102
    Bradesco - GenAI & Dados
    GitHub Copilot - Código na Prática
    Comments (0)