Português (Brasil)
  • SAML
  • SSO
  • Provedor de Identidade

Simplificar a integração de aplicativos SAML para desenvolvedores

Saiba o que é SAML, como implementar SSO e passos rápidos para integrar aplicativos SAML como Provedor de Identidade (IdP) ou Provedor de Serviço (SP).

Ran
Ran
Product & 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.
Começar
Product screenshot

Single Sign-On (SSO) é fundamental para aplicativos modernos, e SAML permite autenticação segura e amigável entre sistemas de identidade empresarial. Este guia simplifica o SAML para desenvolvedores e designers com passos claros e exemplos práticos para ajudá-lo a implementá-lo de forma eficiente.

O que são o SAML SSO e os aplicativos SAML?

Security Assertion Markup Language (SAML) é um padrão baseado em XML usado para trocar dados de autenticação e autorização entre duas partes-chave: 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 empresariais ao permitir que eles façam login uma vez e acessem vários aplicativos.

Provedor de Identidade (IdP) é responsável por gerenciar e verificar as credenciais do usuário, 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 usa o Microsoft Azure AD para gerenciar contas de funcionários. Quando você quer 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 que os usuários realmente estão tentando acessar. Ele depende do IdP para lidar com a autenticação.

  • Exemplo: Continuando nosso cenário acima, o Salesforce é o SP. Ele depende do Microsoft Azure AD (o IdP) para confirmar sua identidade. Uma vez que o Azure AD garante sua identidade, o Salesforce permite seu acesso.

Quando se fala em um “aplicativo SAML”, geralmente é uma referência ao SP.

Usando o protocolo SAML, você pode configurar seu serviço como um IdP para suportar integrações de aplicativos (como Azure Ad / Google Workspace); ou como um SP (como Salesforce / Slack) para suportar SSO para usuários.

Uma SAML Assertion é o coração do protocolo SAML. É uma “nota” digital criada pelo IdP e enviada a um SP que diz: “Eu confirmei a identidade deste usuário.” A seguir, abordaremos como o processo funciona para ambos IdP e SP.

Atuando como um Provedor de Identidade SAML

Quando seu serviço funciona como o IdP, você habilita a autenticação SAML em vários aplicativos. Isso permite que os usuários acessem vários serviços por meio de uma única identidade empresarial.

as_saml_identity_provider_idp.png

Aqui está um fluxo de trabalho típico de SAML SSO para um IdP:

  1. O usuário tenta acessar um aplicativo (SP), como o Salesforce.
  2. O aplicativo redireciona o usuário para o seu IdP para autenticação.
  3. O usuário digita suas credenciais na página de login do seu IdP.
  4. O IdP verifica as credenciais.
  5. Se as credenciais forem verificadas, o IdP envia uma SAML assertion de volta ao SP.
  6. O SP processa a assertion, confirma sua validade e concede o acesso ao usuário.

Atuando como um Provedor de Serviço SAML

Se o seu serviço for o SP, você integrará com vários provedores de identidade para fornecer aos seus usuários a capacidade de SSO. Isso permite que usuários empresariais de diferentes organizações ou locatários acessem seu aplicativo de forma segura e eficiente.

as_saml_service_provider_sp.png

Aqui está um fluxo de trabalho para SSO iniciado por SP:

  1. O usuário tenta fazer login no seu aplicativo.
  2. Seu aplicativo gera uma solicitação SAML e redireciona o usuário para a página de login do IdP.
  3. O usuário faz login no IdP (ou pula essa etapa se já estiver logado).
  4. O IdP verifica a identidade do usuário e, uma vez confirmada, empacota os detalhes do usuário em uma SAML assertion.
  5. O IdP envia a assertion de volta para o seu aplicativo.
  6. Seu serviço verifica a assertion. Se ela for válida, o usuário obtém acesso ao seu aplicativo.

Parâmetros principais no SAML SSO

Para uma integração SAML SSO bem-sucedida, tanto IdPs quanto SPs devem compartilhar parâmetros específicos. Aqui está uma visão dos essenciais:

Parâmetros do IdP

  1. IdP Entity ID: Um identificador exclusivo para o IdP em comunicações SAML, como um crachá digital.
  2. SSO URL: O ponto de extremidade de login (URL) onde o SP redireciona os usuários para autenticação.
  3. Certificado X.509: Uma chave pública usada para assinar a SAML assertion, garantindo que seja segura. Este é o “selo” que verifica a autenticidade.

Dica: Se o seu IdP oferece um URL de Metadados SAML, as coisas ficam mais fáceis. Este URL contém todas as informações necessárias (como certificados, URLs SSO e IdP Entity ID) em um só lugar. Isso minimiza o risco de erros de cópia manual e elimina a necessidade de atualizar manualmente os arquivos de certificado.

Parâmetros do SP

  1. SP Entity ID: O identificador exclusivo do SP, semelhante ao IdP Entity ID.
  2. Assertion Consumer Service (ACS) URL: Este é o ponto de extremidade do SP onde o SP espera receber a SAML assertion do IdP.
  3. RelayState (Opcional): Usado para passar dados durante o processo SAML, como o URL que o usuário originalmente estava tentando visitar.

Mapeamento de atributos SAML e criptografia

  1. Formato NameID: Define o formato do identificador do usuário (por exemplo, endereço de e-mail ou nome de usuário).
  2. Atributos SAML: São detalhes adicionais do usuário, como funções, e-mail ou departamento, que o IdP envia para o SP.
    • Exemplo: Se a SAML assertion assinada pelo IdP incluir email ([email protected]), role (administrador) e department (engenharia). O SP pode usar role para atribuir privilégios de administrador ou department para agrupar o usuário dentro da equipe certa. Para obter esses dados essenciais do usuário, tanto o IdP quanto o SP precisam decidir como mapear atributos. Por exemplo, o IdP pode definir “departamento” como equipe, enquanto o SP espera que seja grupo. Um mapeamento adequado garante uma comunicação fluída.
  3. Asserções Criptografadas (Opcional): Para proteger dados de autenticação sensíveis, asserções SAML podem ser criptografadas.
    • Papel do IdP: Criptografa a asserção usando a chave pública do SP.
    • Papel do SP: Descriptografa a asserção com sua chave privada para ler os 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) com o Azure AD (Provedor de Identidade), siga estas etapas:

  • Obtenha o IdP Entity ID, URL SSO e certificado do Azure AD e os configure no Salesforce.
  • Forneça o SP Entity ID e o ACS URL do Salesforce para o Azure AD.

Logto facilita a integração SAML

O Logto pode atuar como um IdP ou um SP para dar suporte ao SSO SAML para os seus aplicativos.

Usando o Logto como um IdP SAML

O Logto permite que outros aplicativos confiem nele para autenticação de identidade federada e suporta autenticação multifator (MFA) para aumentar a segurança.

  1. Crie um Aplicativo Logto Acesse o Console Logto > Aplicativos e crie um novo aplicativo SAML.
  2. Configurar Parâmetros SAML Configure o aplicativo com o Assertion Consumer Service URL do Provedor de Serviço (SP) e o SP Entity ID.
  3. Forneça o URL de Metadados O Logto fornece um URL de Metadados do IdP que os SPs podem usar para recuperar automaticamente detalhes essenciais, como URLs SSO e certificados.
  4. Configuração Avançada (Opcional)
    • Você pode criar múltiplos novos certificados com impressões digitais e definir datas de expiração, mas apenas um certificado pode estar ativo por vez.
    • Modifique o Formato do Nome ID para se adequar às suas necessidades comerciais.
    • Habilite criptografia de asserção SAML copiando e colando o certificado x509 do seu provedor de serviços para criptografar as asserções.
  5. Mapa de Atributos (Opcional) Personalize facilmente como os atributos de usuário são compartilhados com os Provedores de Serviço (SPs).

logto_saml_apps_saml_providers.png

Para orientações detalhadas, visite a documentação oficial aqui: App SAML

Usando o Logto como um SP SAML

O Logto também se integra com qualquer IdP empresarial via protocolos SAML ou OIDC. Quer você esteja habilitando o SSO iniciado pelo SP para suas páginas de login unificadas ou configurando o SSO iniciado pelo IdP, o processo é direto.

  1. Crie um conector empresarial Acesse o Console Logto > Enterprise SSO e crie um novo Conector Empresarial. Selecione SAML como o padrão de protocolo.
  2. Configurar parâmetros SAML Forneça ou o URL de metadados ou o arquivo XML de metadados do seu IdP. Se os metadados não estiverem disponíveis, mude para a configuração manual inserindo o IdP Entity ID, URL SSO e enviando o certificado de assinatura.
  3. Compartilhe o ACS URL e o SP Entity ID Forneça o ACS URL e o SP Entity ID do Logto para o seu IdP para completar a configuração da integração.
  4. Mapeie atributos (Opcional) Configure mapeamentos de dados do usuário, como e-mail ou nomes, para garantir que as informações sejam passadas corretamente entre o IdP e o Logto.
  5. Adicione domínios de email empresariais Na guia “Experiência SSO” para o conector empresarial, adicione um ou mais domínios de email. Isso garante que apenas usuários com os domínios especificados possam autenticar via SSO.
  6. Habilitar SSO iniciado pelo IdP (Opcional) Habilite o SSO iniciado pelo IdP apenas se necessário pelos seus clientes empresariais. Este recurso permite que os usuários acessem suas aplicações diretamente do painel do IdP.

logto-enterprise-saml-sso.png

Para orientações detalhadas, visite a documentação oficial aqui: Documentação de SSO Empresarial.

Considerações finais

O SAML oferece um método padronizado e seguro para SSO, facilitando a autenticação. Logto simplifica o processo, seja como IdP ou SP. Com sua interface amigável e suporte para versões cloud e open-source, o Logto elimina as complexidades da integração SAML. Ao configurar apenas alguns parâmetros, você pode conectar seus serviços a qualquer IdP ou SP SAML e se concentrar em criar ótimas experiências para seus usuários.