Como configurar o Auth0 SAML SSO

Recursos do Auth0 SAML SSO

  • SSO iniciado pelo provedor de identidade (iniciado pelo IdP)
  • SSO iniciado pelo provedor de serviços (iniciado pelo SP)

OBSERVAÇÃO: a criação de usuários Just-in-Time (JIT) não é suportada. Você pode provisionar usuários via SCIM no plano Enterprise do Calendly.

Antes de começar

  • O SAML SSO está incluído no plano Enterprise do Calendly. Para saber mais, entre em contato com seu Gerente de Contas ou equipe de vendas do Calendly.
  • Para configurar o SAML SSO, você deve ser proprietário ou administrador do Calendly.
  • Você deve usar o mesmo endereço de e-mail no Calendly e Auth0.
  • Durante a configuração, você alternará entre o Calendly e Auth0. É melhor manter cada plataforma aberta em uma janela separada do navegador.

Configurar o Auth0 SAML SSO

Vá para a página de configuração de login único do Calendly

Em qualquer página do Calendly, selecione Conta, Configurações da organização e depois Logon único.

Crie um aplicativo do Calendly no Auth0

  1. Em uma nova janela, faça login no Auth0.
  2. Selecione Aplicativos.
  3. No menu suspenso, selecione Aplicativos.
  4. Selecione Criar aplicativo.
  5. No campo Nome, digite "Calendly".
  6. Em Escolher tipo de aplicação, selecione Aplicativos Regulares da Web.
  7. Selecione Criar.
  8. Selecione Configurações.
  9. Desça até a parte inferior e selecione Configurações avançadas.
  10. Selecione Tipos de concessão.
  11. Desmarque todas as seleções. (Observação: você não está usando o OAuth2, portanto, nenhuma das seleções é necessária para este aplicativo Auth0.)
  12. Selecione Salvar alterações.

Adicione os detalhes do Auth0 ao Calendly

  1. Volte para o topo da página e selecione Extensões.
  2. Selecione SAML2 Web App.
  3. Copie o ID do emissor em Auth0 e cole-o no campo ID da entidade no Calendly.
  4. Em Auth0, copie a URL de login do provedor de identidade e cole-a no campo URL de solicitação HTTP SAML do provedor de identidade no Calendly.
  5. Em Auth0, em Certificado do Provedor de Identidade, selecione Baixar certificado Auth0.
  6. No Calendly, selecione Carregar certificado. Localize e insira o certificado baixado do Auth0.
  7. Em Duração da sessão, defina o valor apropriado para as políticas de segurança da sua organização.
  8. Selecione Salvar e continuar.

Adicionar detalhes do Calendly ao Auth0

  1. Em Auth0, selecione Configurações.
  2. No Calendly, copie o URL do ACS e cole-o no campo URL de retorno de aplicativo em Auth0.
  3. Copie o seguinte JSON e cole-o no campo Configurações em Auth0:
    { "audience": "{Audience URL}", "mapeamentos": { "given_name": "firstName", "family_name": "lastName", "email": "email" }, "passthroughClaimsWithNoMapping": false, "mapUnknownClaimsAsIs": true, "signatureAlgorithm": "rsa-sha256", "digestAlgorithm": "sha256", "signResponse": true, "nameIdentifierProbes": [ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" ] }
    SAML2_settings.png
  4. No Calendly, copie o URL de audiência.
  5. Em Auth0, no JSON no campo Settings, substitua {Audience URL} pelo valor de URL de audiência que você copiou do Calendly na etapa 4.
  6. Selecione Habilitar. Quando você vir a mensagem de sucesso, feche o modal.

Crie uma regra no Auth0.

  1. Em Auth0, copie a ID do Cliente e cole-a em algum lugar seguro para uso posterior.
  2. Na barra lateral esquerda, clique em Ações > Fluxos.
  3. Selecione o tipo de fluxo Login. Na barra lateral direita, selecione + e depois Criar Personalizado.
  4. Na caixa de diálogo, digite "Calendly SAML" para o nome.
  5. Selecione Criar.
  6. Exclua o código existente e copie e cole o código abaixo no editor.
    • /** * Manipulador que será chamado durante a execução de um fluxo de PostLogin. * * @param {Event} event - Detalhes sobre o usuário e o contexto em que ele está fazendo login. * @param {PostLoginAPI} api - Interface cujos métodos podem ser usados para alterar o comportamento do login. */ exports.onExecutePostLogin = async (event, api) => { const {client, user} = event if (client.client_id ! == '{Client ID}') { return } const name_parts = (user.name || '').split(' ', 3); const given_name = user.given_name || name_parts.at(0); const family_name = user.family_name || name_parts.at(-1); api.idToken.setCustomClaim(`given_name`, given_name); api.idToken.setCustomClaim(`family_name`, family_name); };
  7. Substitua {Client ID} pelo ID do cliente copiado na etapa 1.
  8. Selecione Salvar rascunho e depois Implantar.
  9. Selecione Voltar ao fluxo.
  10. Na barra lateral direita, clique em Personalizado.
  11. Arraste e solte a ação do Calendly SAML no fluxo.
  12. Selecione Aplicar.

Teste a conexão

Observação: antes de testar a conexão, você deve estar conectado ao Calendly e Auth0 com o mesmo endereço de e-mail.

No Calendly, selecione Ativar SSO para si mesmo e selecione Testar conexão. Se for bem-sucedido, você verá uma confirmação.

Screenshot 2023-10-11 at 10.13.52 AM.png

Impor o Auth0 SSO para sua organização

Observação: se a sua organização tiver restrições de aplicativos para usuários, atualize essas regras para que os usuários apropriados possam usar o Calendly.

No Calendly, selecione Impor SAML SSO para minha organização e depois Aplicar.

Screenshot 2023-10-11 at 10.14.09 AM.png

Assim que o SSO for ativado, todos os usuários serão desconectados e precisarão usar o SAML SSO para fazer login no Calendly. Somente o proprietário da organização pode fazer login usando seu método alternativo (original), selecionando Utilize outro método para fazer login na página de login.