Simplifique a integração da autenticação SAML para desenvolvedores
Aprenda o que é SAML, como implementar SSO e os passos rápidos para integrar a autenticação SAML como Provedor de Identidade (IdP) ou Provedor de Serviço (SP).
RanProduct & Design
Pare de perder semanas com autenticação de usuários
Lance aplicativos seguros mais rapidamente com o Logto. Integre a autenticação de usuários em minutos e concentre-se no seu produto principal.
Single Sign-On (SSO) é fundamental para aplicativos modernos, e o SAML permite uma autenticação segura e amigável entre os sistemas de identidade corporativos. Este guia simplifica o SAML para desenvolvedores e designers com etapas claras e exemplos práticos para ajudar você a implementá-lo de forma eficiente.
Security Assertion Markup Language (SAML) é um padrão baseado em XML usado para trocar dados de autenticação e autorização entre dois atores principais: o Provedor de Identidade (IdP) e o Provedor de Serviço (SP). É uma solução comum para Single Sign-On (SSO) em organizações, facilitando a vida dos usuários corporativos ao permitir que eles façam login uma vez e acessem vários aplicativos.
Provedor de Identidade (IdP) é responsável por gerenciar e verificar credenciais de usuários, como nomes de usuário e senhas. Quando um usuário tenta acessar um serviço protegido, o IdP confirma sua identidade e envia essa confirmação para o serviço.
Exemplo: Imagine que você trabalha para uma grande empresa que utiliza o Microsoft Azure AD para gerenciar as contas dos funcionários. Quando você deseja fazer login no Salesforce, o Azure AD atua como o IdP. Ele verifica suas credenciais e informa ao Salesforce que você está autorizado a usá-lo.
Provedor de Serviço (SP) é o aplicativo ou serviço ao qual os usuários estão realmente tentando acessar. Ele depende do IdP para lidar com a parte principal da autenticação.
Exemplo: Continuando nosso cenário acima, o Salesforce é o SP. Ele confia no Microsoft Azure AD (o IdP) para confirmar sua identidade. Uma vez que o Azure AD garante você, o Salesforce permite seu acesso.
Ao falar sobre um “aplicativo SAML”, normalmente nos referimos ao SP.
Usando o protocolo SAML, você pode configurar seu serviço como um IdP para dar suporte a integrações de aplicativos (como Azure Ad / Google Workspace) ou como um SP (como Salesforce / Slack) para oferecer SSO para usuários.
Uma SAML Assertion é o coração do protocolo SAML. Trata-se de uma “nota” digital criada pelo IdP e enviada ao SP dizendo: “Eu confirmei a identidade deste usuário.” A seguir, veremos como o processo funciona, tanto para IdP quanto para SP.
Quando o seu serviço funciona como IdP, você habilita a autenticação SAML entre vários aplicativos. Isso permite que os usuários acessem diferentes serviços usando uma única identidade corporativa.
Veja um fluxo típico de SSO SAML para IdP:
O usuário tenta acessar um aplicativo (SP), como Salesforce.
O aplicativo redireciona o usuário para o seu IdP para autenticação.
O usuário insere suas credenciais na página de login do seu IdP.
O IdP verifica as credenciais.
Se as credenciais forem verificadas, o IdP envia uma SAML assertion de volta ao SP.
O SP processa a assertion, confirma sua validade e concede acesso ao usuário.
Se o seu serviço for o SP, você irá integrar-se a vários provedores de identidade para oferecer aos seus usuários a capacidade de SSO. Isso permite que usuários corporativos de diferentes organizações ou locatários acessem seu aplicativo de forma segura e eficiente.
Veja o fluxo para SSO iniciado pelo SP:
O usuário tenta fazer login no seu aplicativo.
Seu aplicativo gera uma solicitação SAML e redireciona o usuário para a página de login do IdP.
O usuário faz login no IdP (ou pula esta etapa se já estiver autenticado).
O IdP verifica a identidade do usuário e, depois de confirmada, insere os detalhes do usuário em uma SAML assertion.
O IdP envia a assertion de volta ao seu aplicativo.
Seu serviço verifica a assertion. Se ela for válida, o usuário obtém acesso ao seu aplicativo.
IdP Entity ID: Um identificador único do IdP nas comunicações SAML, como uma etiqueta digital de nome.
SSO URL: O endpoint de login (URL) onde o SP redireciona os usuários para autenticação.
Certificado X.509: Uma chave pública usada para assinar a assertion SAML, garantindo sua segurança. Este é o “selo” de autenticidade.
Dica: Se seu IdP oferece uma SAML Metadata URL, tudo fica mais fácil. Esta URL contém todas as informações necessárias (como certificados, URLs de SSO e IdP Entity ID) em um só local. Minimize o risco de erros por copiar/colar manualmente e elimine o incômodo de atualizar arquivos de certificado manualmente.
NameID Format: Define o formato do identificador do usuário (ex: e-mail ou nome de usuário).
Atributos SAML: São detalhes adicionais do usuário, como cargos, e-mail ou departamento, que o IdP envia ao SP.
Exemplo: Se a assertion SAML assinada pelo IdP incluir email ([email protected]), role (admin) e department (engenharia), o SP pode usar o role para atribuir privilégios de administrador ou department para agrupar o usuário na equipe certa. Para obter esses dados essenciais, IdP e SP devem definir como mapear os atributos. Por exemplo, o IdP pode definir “department” como equipe, enquanto o SP espera como grupo. Um mapeamento adequado garante comunicação fluida.
Assertions Criptografadas (Opcional): Para proteger dados sensíveis de autenticação, assertions SAML podem ser criptografadas.
Função do IdP: Criptografa a assertion com a chave pública do SP.
Função do SP: Descriptografa a assertion com sua chave privada para ler detalhes do usuário.
Agora você deve ter as informações necessárias para configurar uma conexão SAML. Para integrar o Salesforce (Provedor de Serviço) ao Azure AD (Provedor de Identidade), siga estes passos:
Obtenha o IdP Entity ID, o SSO URL e o certificado do Azure AD e configure-os no Salesforce.
Forneça o SP Entity ID e o ACS URL do Salesforce para o Azure AD.
A Logto permite que outros aplicativos confiem nela para autenticação de identidade federada e oferece suporte a autenticação multifator (MFA) para maior segurança.
Configure os parâmetros SAML
Configure o aplicativo com o Assertion Consumer Service URL e o SP Entity ID do Provedor de Serviço (SP).
Forneça a URL de metadados
A Logto fornece uma IdP Metadata URL que os SPs podem usar para obter automaticamente detalhes essenciais como URLs de SSO e certificados.
Configuração avançada (Opcional)
Você pode criar vários novos certificados com impressões digitais e datas de expiração, mas só um pode estar ativo por vez.
Modifique o formato do Name ID conforme os requisitos do seu negócio.
Habilite criptografia de assertion SAML copiando e colando o certificado x509 do seu provedor de serviço para criptografar as assertions.
Mapeie atributos(Opcional)
Personalize facilmente como os atributos do usuário são compartilhados com os Provedores de Serviço (SPs).
Para orientações detalhadas, visite a documentação oficial aqui: SAML App
A Logto também integra-se com qualquer IdP corporativo via SAML ou OIDC. Seja habilitando SSO iniciado pelo SP em suas páginas de login unificadas ou configurando SSO iniciado pelo IdP, o processo é simples.
Crie um conector corporativo
Acesse o Logto Console > Enterprise SSO e crie um novo Conector Corporativo. Selecione SAML como padrão de protocolo.
Configure os parâmetros SAML
Forneça a metadata URL ou o arquivo XML de metadados do seu IdP. Caso não tenha o metadado, alterne para configuração manual inserindo o IdP Entity ID, o SSO URL e envie o certificado de assinatura.
Compartilhe o ACS URL e o SP Entity ID
Forneça o ACS URL e o SP Entity ID da Logto ao seu IdP para concluir a configuração da integração.
Mapeie atributos (Opcional)
Configure o mapeamento dos dados do usuário, como e-mail ou nomes, para garantir que as informações sejam transmitidas corretamente entre IdP e Logto.
Adicione domínios de e-mail corporativo
Na aba “SSO Experience” do conector corporativo, adicione um ou mais domínios de e-mail. Isso garante que apenas usuários com os domínios especificados possam autenticar via SSO.
Habilite SSO iniciado pelo IdP (Opcional)
Habilite o SSO iniciado pelo IdP apenas se for exigido pelos clientes corporativos. Esse recurso permite que usuários acessem seus aplicativos diretamente do painel do IdP.
SAML oferece um método padronizado e seguro para SSO, tornando a autenticação mais suave. Logto simplifica o processo, seja como IdP ou SP. Com uma interface amigável e suporte tanto para versões cloud quanto para open-source, a Logto elimina as complexidades da integração SAML. Com apenas alguns parâmetros configurados, você conecta seus serviços a qualquer IdP ou SP SAML e pode focar em construir ótimas experiências para seus usuários.