Pular para o conteúdo principal

Configurar Single Sign-On com SAML

Com um esforço mínimo de configuração, este conector permite a integração com qualquer Provedor de Identidade (IdP) baseado em SAML.

dica:

Para mais informações sobre SSO e como configurar SSO no Logto, por favor, confira a documentação de SSO corporativo (SAML & OIDC) para começar.

Passo 1: Crie um aplicativo SAML SSO no seu IdP

Inicie a integração SAML SSO criando um aplicativo no lado do IdP. Obtenha as seguintes configurações do Logto, representando seu Provedor de Serviço (SP):

  • Público (Audience) URI (SP Entity ID): Representa um identificador globalmente único para o seu serviço Logto, funcionando como o EntityId para SP durante solicitações de autenticação ao IdP. Este identificador é fundamental para a troca segura de afirmações SAML e outros dados relacionados à autenticação entre o IdP e o Logto.
  • URL ACS: A URL do Serviço de Consumidor de Afirmação (ACS) é o local onde a afirmação SAML é enviada com uma solicitação POST. Esta URL é usada pelo IdP para enviar a afirmação SAML para o Logto. Atua como uma URL de retorno onde o Logto espera receber e consumir a resposta SAML contendo as informações de identidade do usuário.

Preencha as configurações de Público (Audience) URI e URL ACS em seu aplicativo SAML do IdP e continue a recuperar as seguintes configurações do seu IdP.

Passo 2: Configure o SAML SSO no Logto

Para fazer a integração SAML SSO funcionar, você precisará fornecer os metadados do IdP ao Logto. Os metadados do IdP são um documento XML que contém todas as informações necessárias para que o Logto estabeleça a confiança com o IdP.

Navegue até a aba Connection. O Logto oferece três maneiras diferentes de configurar os metadados do IdP:

  1. URL de Metadados: Forneça a URL do documento XML de metadados do IdP. O Logto buscará os metadados da URL e configurará a integração SAML SSO automaticamente.
  2. Carregar Metadados: Carregue o documento XML de metadados do IdP. O Logto analisará o documento XML e configurará a integração SAML SSO automaticamente.
  3. Configuração Manual: Configure manualmente os metadados do IdP.
  • ID da entidade IdP: O ID da Entidade do IdP.
  • URL de autenticação única: A URL do Serviço de Autenticação Única do IdP.
  • Certificado de assinatura: O certificado x509 é usado para verificar a assinatura da resposta SAML do IdP.

Com qualquer uma das configurações acima, o Logto analisará os metadados do IdP e configurará a integração SAML SSO de acordo.

Passo 3: Configure o mapeamento de atributos do usuário

Os atributos do usuário retornados do IdP podem variar dependendo da configuração do IdP. O Logto oferece uma maneira flexível de mapear os atributos do usuário retornados do IdP para os atributos do usuário no Logto. Você pode configurar o mapeamento de atributos do usuário na aba de experiência de integração SAML SSO.

  • id: O identificador único do usuário. O Logto lerá a reivindicação nameId da resposta SAML como o id de identidade SSO do usuário.
  • email: O endereço de email do usuário.
  • name: O nome do usuário.

Passo 4: Defina domínios de e-mail e habilite o conector SSO

Forneça os domínios de email da sua organização na aba SSO experience do conector do Logto. Isso habilitará o conector SSO como um método de autenticação para esses usuários.

Usuários com endereços de email nos domínios especificados serão redirecionados para usar o conector SAML SSO como seu único método de autenticação.

Opcional: Assine a solicitação de autenticação SAML

Por padrão, o Logto envia solicitações de autenticação SAML (AuthnRequests) sem assinatura. Se o seu provedor de identidade (IdP) exigir solicitações de autenticação assinadas, o Logto pode assiná-las com um certificado de Provedor de Serviço (SP) gerado. A assinatura é controlada inteiramente pela configuração Assinar solicitação de autenticação (Sign authentication request) do conector — o Logto não lê o sinalizador WantAuthnRequestsSigned dos metadados do IdP.

Configure nesta ordem para evitar qualquer interrupção no login:

  1. Na aba Connection do conector, encontre a seção Certificado de assinatura de solicitação (Request signing certificate) e clique em Gerar nova chave (Generate new key). A primeira chave é ativada automaticamente; chaves geradas posteriormente ficam inativas para rotação.
  2. Baixe o certificado da chave ativa e registre-o no seu IdP.
  3. Ative Assinar solicitação de autenticação (Sign authentication request) e salve. A ativação exige uma chave de assinatura ativa — salvar sem uma será rejeitado.
  4. Se o seu IdP tiver uma opção separada para exigir ou verificar solicitações assinadas, ative-a agora e teste o fluxo de login.
atenção:

Mantenha os dois lados sincronizados. Ativar Assinar solicitação de autenticação (Sign authentication request) antes do certificado ser registrado — ou exigir verificação no IdP antes do Logto assinar — interrompe o login por essa conexão até que o outro lado seja ajustado. IdPs que não verificam assinaturas de solicitações simplesmente ignoram a assinatura.

O gerenciamento de chaves funciona independentemente do botão de alternância:

  • No máximo uma chave está ativa, e a chave ativa assina todas as solicitações. Operações de chave (gerar, ativar, desativar, excluir) têm efeito imediato.
  • Para rotacionar certificados sem tempo de inatividade: gere uma nova chave (fica inativa), registre seu certificado no IdP e depois ative-a — a chave anterior é desativada automaticamente e pode ser excluída em seguida.
  • A chave ativa não pode ser excluída, e não pode ser desativada enquanto Assinar solicitação de autenticação (Sign authentication request) estiver ativado — desative a assinatura primeiro.
  • Desativar o botão mantém todas as chaves, então reativar retoma a assinatura com o mesmo certificado — sem necessidade de ajustes no IdP.

O Logto assina solicitações com RSA-SHA256 por padrão. Para usar RSA-SHA512, defina requestSignatureAlgorithm como http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 na configuração do conector via Logto Management API.

Guia rápido de segurança SAML