Apidog

Plataforma Colaborativa All-in-one para Desenvolvimento de API

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

O que é Single Sign-On (SSO)?

Neste artigo, apresentaremos informações básicas sobre login único (SSO), como seu mecanismo, tipos, vantagens e desvantagens. Se você quiser aprofundar seu entendimento sobre SSO, consulte este artigo.

Miguel Oliveira

Miguel Oliveira

Updated on novembro 29, 2024

Single Sign-On (SSO) refere-se a um método de autenticação amplamente utilizado em empresas e organizações de médio a grande porte, permitindo que os usuários acessem múltiplos sistemas e aplicações com um único login.

Este sistema é particularmente favorecido por sua conveniência na gestão da autenticação do usuário em várias plataformas de forma contínua. Neste artigo, apresentaremos os fundamentos do Single Sign-On (SSO), incluindo seu mecanismo, tipos e prós e contras.

O que é Single Sign-On (SSO)?

Single Sign-On (SSO) é um sistema de autenticação amplamente utilizado em empresas e organizações de médio a grande porte. Ele permite que os usuários acessem múltiplos sistemas e aplicações com uma única credencial de login.

Por exemplo, usando o Single Sign-On (SSO) da Microsoft Enterprise, os funcionários podem acessar não apenas os serviços da Microsoft, mas também outros serviços de terceiros, como Salesforce, Google Workspace e Slack, todos configurados para integrar-se com SSO usando seus endereços de e-mail designados pela empresa (por exemplo, nomeusuario@nomedaempresa.com) e senhas. Ao fazer login via SSO, as configurações organizacionais e as permissões de acesso do usuário são aplicadas automaticamente.

Como Funciona o SSO?

Mecanismo do SSO Vamos explorar como o SSO é implementado. O processo básico do SSO pode ser dividido em várias etapas, independentemente do método de implementação específico. Aqui está um fluxo de trabalho geral:

Configuração Inicial:

  • Os administradores do sistema configuram um servidor central (Provedor de Identidade - IdP) para gerenciar credenciais de autenticação. Este servidor armazena informações de autenticação do usuário e supervisiona o processo de autenticação.
  • Cada serviço ou aplicação que os usuários terão acesso é registrado neste servidor central.

Acesso do Usuário e Redirecionamento:

  • Quando um usuário tenta acessar um serviço ou aplicação específica, o Provedor de Serviço (SP) verifica se o usuário está autenticado.
  • Se não estiver autenticado, o SP redireciona o usuário para a página de login do Provedor de Identidade (IdP), incluindo informações sobre o serviço que o usuário pretendia acessar.

Processo de Autenticação:

  • Na página de login do IdP, o usuário insere suas credenciais de autenticação (tipicamente nome de usuário e senha).
  • O IdP verifica essas credenciais e autentica o usuário.
  • Etapas de autenticação adicionais, como Autenticação Multifator (MFA), como notificações push para smartphones ou digitalizações de impressões digitais, podem ser exigidas se configuradas.

Geração e Transmissão de Token:

  • Após a autenticação bem-sucedida, o IdP gera um token de autenticação. Este token inclui informações como identificação do usuário, status de autenticação e expiração.
  • O IdP transmite este token para o SP através do navegador do usuário.

Validação de Token e Permissão:

  • O SP valida o token recebido. Ele garante que o token é válido e emitido por um IdP confiável.
  • Após a validação bem-sucedida, o SP concede ao usuário acesso aos recursos sem exigir autenticação adicional.

Gerenciamento de Sessão:

  • O IdP mantém a sessão de autenticação do usuário. Se o usuário tentar acessar outro SP, o IdP emite um novo token sem exigir um novo processo de autenticação, facilitando o acesso contínuo entre os serviços.

Logout Único (SLO):

  • Se o usuário optar por sair, o IdP envia notificações de logout para todos os SPs. Isso permite que o usuário saia de todos os serviços com uma única operação de logout, aumentando a segurança e reduzindo o risco de deixar sessões abertas involuntariamente.

Segurança e Monitoramento:

  • A segurança é fundamental em sistemas SSO, com todas as comunicações criptografadas (HTTPS).
  • Os tokens têm períodos de expiração e devem ser frequentemente atualizados.
  • Os administradores do sistema monitoram os registros de acesso periodicamente em busca de atividades suspeitas.
  • A implementação de Autenticação Multifator (MFA) aprimora ainda mais a segurança.

Tipos de Single Sign-On (SSO)

Tipos de Single Sign-On (SSO) O SSO utiliza vários protocolos, cada um adequado a diferentes ambientes e requisitos. Aqui estão alguns protocolos SSO comuns:

SAML (Security Assertion Markup Language)

  • SAML é um protocolo principalmente utilizado em ambientes empresariais. Ele permite a troca de informações de autenticação entre Provedores de Identidade e Provedores de Serviço, tornando-o particularmente adequado para implementações de Single Sign-On baseadas em navegador.

Fluxo Operacional

  • Usuário acessa SP
  • SP redireciona para IdP
  • O IdP autentica o usuário
  • O IdP envia a afirmação SAML para o SP
  • SP concede acesso ao usuário
SAML

O SAML oferece várias vantagens. Ele fornece um alto nível de segurança, que é crucial para aplicações empresariais. Além disso, permite a troca de informações detalhadas de atributos, fornecendo aos Provedores de Serviço mais contexto sobre o usuário autenticado.

OAuth 2.0:

  • Principalmente um protocolo de autorização, frequentemente utilizado para SSO para conceder aplicações acesso a recursos em nome dos usuários.
OAuth 2.0

OAuth 2.0 suporta múltiplos tipos de concessão para acomodar diferentes cenários.

  • Fluxo de Código de Autorização
  • Fluxo Implícito
  • Credenciais de Senha do Proprietário do Recurso
  • Credenciais do Cliente

Esses incluem o Fluxo de Código de Autorização, que é adequado para aplicações do lado do servidor. O Fluxo Implícito é projetado para aplicações do lado do cliente. O tipo de concessão de Credenciais de Senha do Proprietário do Recurso é usado quando há um alto nível de confiança entre o usuário e o cliente.

Por fim, o tipo de concessão de Credenciais do Cliente é empregado para comunicação máquina-a-máquina onde a participação do usuário não é necessária.

OpenID Connect (OIDC):

  • OpenID Connect expande o OAuth 2.0, adicionando robustas capacidades de autenticação. Ele utiliza JSON Web Tokens (JWT) para troca segura de informações, tornando-o particularmente adequado para APIs RESTful. Baseado no OAuth 2.0, adiciona uma camada de autenticação permitindo que os clientes verifiquem a identidade do usuário e obtenham informações básicas do perfil.
OIDC

Fluxo

  1. O cliente envia uma solicitação de autorização
  2. O usuário autentica e autoriza
  3. Um código de autorização é retornado
  4. O cliente obtém um token de acesso e um token de ID.
  5. Obter Informações do Usuário (Opcional)

Cada um desses protocolos é adequado para diferentes casos de uso e requisitos, portanto, é importante escolher o protocolo certo com base nas necessidades e na infraestrutura existente da sua organização.

Vantagens e Desvantagens do SSO

Como descrito, o SSO oferece inúmeros benefícios, como maior conveniência para o usuário, segurança aprimorada, redução de custos de gerenciamento, aumento da produtividade, melhorias de conformidade, fácil integração com novas aplicações, mitigação de riscos para incidentes de segurança e autenticação consistente em dispositivos.

No entanto, também apresenta desafios, como ser um ponto único de falha, riscos de segurança concentrados, complexidade e custos iniciais de implementação, dependência de fornecedores, dependência do usuário, preocupações de privacidade, complexidades de conformidade, problemas de gerenciamento de sessão e a complexidade de integrar MFA de forma eficaz.

Conclusão

O Single Sign-On (SSO) é crucial em ambientes digitais modernos para equilibrar a conveniência do usuário com segurança aprimorada. Compreender seus mecanismos, tipos e prós e contras ajuda as organizações a escolher a solução certa com base em suas necessidades.

A implementação eficaz do SSO pode melhorar significativamente a eficiência e a segurança dentro de uma organização, mas requer medidas de segurança contínuas e educação dos usuários para maximizar seus benefícios.

Onde Baixar Swagger UI em Português GrátisPonto de vista

Onde Baixar Swagger UI em Português Grátis

Explore a dificuldade de obter uma interface em português para o Swagger UI e saiba por que o Apidog é uma alternativa de plataforma poderosa para o desenvolvimento de APIs.

Oliver Kingsley

abril 23, 2025

Onde Baixar o Postman em Português GrátisPonto de vista

Onde Baixar o Postman em Português Grátis

No mundo do desenvolvimento de software, especialmente ao trabalhar com APIs, ferramentas eficientes são essenciais. Postman se tornou um nome conhecido, uma plataforma popular usada por milhões de desenvolvedores para criar, testar e gerenciar APIs. No entanto, para muitos usuários de língua portuguesa, uma pergunta comum surge: é possível ter o Postman em português? A resposta curta é que Postman não oferece atualmente suporte nativo em português para sua interface de usuário. Mas não se preo

@apidog

abril 21, 2025

Desvendando Testes de API: Guia Completo do Postman para IniciantesPonto de vista

Desvendando Testes de API: Guia Completo do Postman para Iniciantes

Este artigo introduz o uso básico do Postman, incluindo instalação, teste de APIs e envio de requisições HTTP, destacando suas funções convenientes e limitações, sugerindo soluções como o Apidog.

@apidog

março 27, 2025