Escolhendo o seu método SSO: SAML vs. OpenID Connect
Single sign-on (SSO) é uma ótima maneira de simplificar a autenticação e autorização de utilizadores. Mas qual método SSO deverias escolher? Neste post, damos-te uma breve visão geral de dois métodos SSO populares: SAML e OpenID Connect.
SimengDeveloper
Pare de perder semanas com autenticação de utilizadores
Lance aplicações seguras mais rapidamente com o Logto. Integre a autenticação de utilizadores em minutos e concentre-se no seu produto principal.
No mundo de hoje, impulsionado pela nuvem, o single sign-on (SSO) é uma ótima maneira de simplificar a autenticação e autorização dos utilizadores. Ao invés de teres os utilizadores a lembrar-se de múltiplos nomes de utilizador e senhas para diferentes aplicações, o SSO permite-lhes fazer o login uma vez e aceder a múltiplas aplicações de forma integrada.
A maioria dos grandes Provedores de Identidade (IdPs), como o Microsoft Entra, oferece dois principais concorrentes para SSO: Security Assertion Markup Language (SAML) e OpenID Connect (OIDC). Embora ambos sejam protocolos seguros e bem estabelecidos, escolher o correto para a tua organização depende de uma variedade de fatores. Vamos aprofundar-nos nas suas forças e fraquezas para te ajudar a escolher o teu campeão SSO.
OpenID Connect (OIDC): A seleção leve para aplicações modernas#
OIDC é um protocolo simples e leve construído em cima do OAuth 2.0. Ele destaca-se em fornecer um processo de configuração amigável, tornando-se uma escolha popular para aplicações modernas.
Simplicidade: O OIDC oferece um processo de configuração mais simples em comparação com o SAML. Isso traduz-se em implementação mais rápida e manutenção contínua mais fácil. Foi projetado em cima do OAuth 2.0, que já é amplamente usado para fins de autorização.
Design moderno: Criado para o ambiente web contemporâneo, integra-se bem com as aplicações e frameworks modernos. O OIDC é RESTful e baseado em JSON, facilitando o trabalho em ambientes de desenvolvimento modernos e proporcionando uma experiência de utilizador mais fluida.
Escalabilidade: O OIDC é projetado para ser escalável, tornando-o uma boa escolha para organizações grandes com requisitos complexos.
Eficiência: O OIDC utiliza JSON Web Tokens (JWTs) para troca de dados. Estes tokens compactos são leves e eficientes em comparação com as mensagens XML mais volumosas usadas pelo SAML. Isso traduz-se em tempos de autenticação mais rápidos.
Controle limitado de atributos: Por padrão, o OIDC oferece informações básicas limitadas sobre atributos de utilizador, podendo não fornecer o mesmo nível de controle granular como o SAML. Isso pode ser uma preocupação para organizações com requisitos rigorosos de controle de acesso. Para um controle de atributos mais avançado, pode ser necessário estender o protocolo com mecanismos de autorização adicionais, por exemplo, controle de acesso baseado em função (RBAC) ou controle de acesso baseado em atributos (ABAC).
Suporte limitado para aplicações legadas: Como o OIDC é um protocolo mais recente, pode não ser tão amplamente adotado por aplicações empresariais mais antigas em comparação com o padrão SAML estabelecido.
Security Assertion Markup Language (SAML): O padrão empresarial com controle granular#
O SAML tem sido o protocolo de referência para SSO no mundo empresarial há muitos anos. Sua extensa adoção e conjunto robusto de recursos fazem dele uma escolha sólida para organizações com requisitos complexos.
Adoção ampla: O SAML existe há muito tempo e é amplamente adotado por muitas aplicações empresariais. Isso garante um alto grau de compatibilidade para a tua infraestrutura de TI existente.
Controle granular de atributos: O SAML oferece um conjunto rico de atributos que podem ser trocados entre o IdP e o Provedor de Serviços (SP). Isso permite um controle de acesso detalhado e personalização dos atributos do utilizador.
Complexidade: Configurar e configurar o SAML pode ser um processo mais envolvido em comparação com o OIDC. As mensagens baseadas em XML usadas pelo SAML são mais volumosas e verbosas do que as mensagens baseadas em JSON usadas pelo OIDC. Isso requer um entendimento mais profundo do protocolo e, potencialmente, mais recursos de engenharia.
Mensagens mais volumosas: As mensagens SAML são baseadas em XML, o que pode torná-las mais volumosas e menos eficientes em comparação com as mensagens baseadas em JSON usadas pelo OIDC. Isso pode levar a tempos de autenticação mais lentos, especialmente para cargas úteis grandes.
Ao escolher entre o SAML e o OIDC, considera os seguintes fatores:
Fator
SAML
OIDC
Complexidade da configuração
Alta
Baixa
Compatibilidade (Moderna)
Baixa
Alta
Compatibilidade (Legada)
Alta
Baixa
Experiência do utilizador
Complexa
Simples
Controle de atributos
Granular
Limitada
Eficiência na troca de dados
Baixa
Alta
Além do binário: combinando SAML e OIDC para uma abordagem híbrida#
Em alguns casos, podes não precisar escolher entre SAML e OIDC. Alguns IdPs oferecem a flexibilidade de suportar ambos os protocolos, permitindo que aproveites os pontos fortes de cada um onde são mais necessários. Por exemplo, se a tua organização tem uma mistura de aplicações modernas e legadas, mas partilham o mesmo IdP, podes aproveitar tanto OIDC quanto SAML para uma solução SSO abrangente. Por exemplo, podes utilizar OIDC para as tuas aplicações web e móveis, enquanto reservas o SAML para os teus sistemas empresariais legados.
Conclusão: Escolher a ferramenta certa para o trabalho#
O melhor protocolo SSO para a tua organização depende do teu cenário específico de aplicações, requisitos de segurança e objetivos de experiência do utilizador. Ao compreenderes as forças e fraquezas de ambos OIDC e SAML, estarás bem equipado para escolher a melhor opção para a tua organização.
Na Logto, suportamos tanto SAML quanto OIDC como parte da nossa solução SSO abrangente. Seja a ligar com uma aplicação web moderna ou um sistema empresarial legado, temos tudo o que precisas. Registra-te para uma conta gratuita e começa a simplificar os teus fluxos de trabalho de autenticação e autorização hoje.