Traduzido por IA. Ainda não revisado pela comunidade. Ler em inglês

Blog · 27 de setembro de 2023 · Steve Simpson · Identidade

Mantendo os dados de usuário atualizados automaticamente com o SAML JIT do Salesforce

Introdução

A segurança e identidade do Salesforce oferecem um recurso poderoso: o single sign-on SAML JIT (Just In Time), uma forma simples de criar e atualizar dados de usuário automaticamente. Para organizações que usam single sign-on com um provedor de identidade, o SAML JIT se torna uma ferramenta valiosa para sincronizar os dados de usuário entre o provedor de identidade e o Salesforce ou outro provedor de serviços. Este post explora o mecanismo e o método para atualizar dados de usuário automaticamente com o SAML JIT.

Entendendo o single sign-on SAML JIT

O single sign-on SAML JIT permite passar os dados do usuário automaticamente a cada login, garantindo que fiquem sempre atualizados. Por exemplo, pense num usuário chamado Homer, que tem perfis diferentes em duas orgs do Salesforce. Se o Homer atualizar o número de telefone no perfil do provedor de identidade, o SAML JIT pode fazer essa mudança aparecer no perfil do provedor de serviços durante o login, mantendo os dados consistentes entre as plataformas.

Configurando o SAML JIT

Diagrama: provisionamento just-in-time com SAML. O provedor de identidade envia o telefone do usuário como atributo na asserção SAML, e o Salesforce cria ou atualiza o usuário com ele

Configuração de atributos personalizados:

Faça login no provedor de identidade (IDP) e abra o registro do usuário atual. No nosso exemplo, atualizamos o telefone do Homer.

Vá até a configuração do provedor de serviços no IDP e veja as configurações de conexão.

Role até os atributos personalizados e adicione os necessários. Por exemplo, adicione um atributo user.phone e configure a substituição de atributo para incluir o telefone do usuário no payload SAML a cada login.

Atualização dos dados de usuário no provedor de serviços:

Vá até a org do provedor de serviços e abra os registros de usuário.

Encontre o usuário cujos dados precisam ser sincronizados e faça as atualizações necessárias no perfil. Por exemplo, atualize o telefone do Homer.

Ajuste das configurações de single sign-on:

Vá até as configurações de single sign-on e ative o provisionamento de usuários.

Captura de tela: as configurações de single sign-on do Salesforce com o provisionamento de usuários just-in-time ativado e uma classe de manipulador SAML JIT personalizada

Crie e atribua uma classe personalizada que sobrescreva o manipulador JIT padrão e garanta que ela seja executada por um usuário com as permissões adequadas.

Implementando o manipulador SAML JIT

No ambiente de desenvolvimento integrado (IDE), crie uma nova classe, por exemplo, ‘STA_SamlJitHandler’.

Sobrescreva dois métodos: ‘createUser’ e ‘updateUser’.

‘createUser’: monte um novo registro de usuário e escolha um perfil para o novo usuário.

Código Apex: um manipulador SAML JIT personalizado cujo método createUser monta um novo usuário a partir dos atributos SAML (nome de usuário, ID de federação, telefone, e-mail) e define o perfil

‘updateUser’: busque e atualize o registro do usuário com base nos atributos recebidos.

Código Apex: o método updateUser, que carrega o usuário e atualiza o telefone a partir dos atributos SAML

Fazendo login e verificando a sincronização dos dados

Captura de tela: a extensão de navegador SAML-tracer mostrando a resposta SAML, com o atributo User.Phone

Quando um usuário tenta fazer login no provedor de serviços, ele é redirecionado ao IDP para se autenticar. Depois de um login bem-sucedido, os dados do usuário são atualizados e sincronizados automaticamente. Para verificar, você pode usar ferramentas como o SAML Tracer para inspecionar o payload SAML e garantir que os dados do usuário foram transmitidos e atualizados corretamente.

Conclusão

Com pouquíssimo código e configuração, o single sign-on SAML JIT do Salesforce oferece um mecanismo robusto para manter os dados de usuário sincronizados entre o provedor de identidade e os provedores de serviços. As atualizações só acontecem no login, mas esse recurso é uma alternativa sem complicação a montar e gerenciar processos em lote para sincronizar dados de usuário. Para usuários e administradores que querem atualizações em tempo real sem lotes noturnos, o SAML JIT é uma solução eficiente que vale a pena considerar.

Para mais ideias e dicas técnicas, fique de olho e não se esqueça de se inscrever!

Fique de olho

Comece sua jornada no Salesforce Identity com confiança! Para mais ideias e dicas, acompanhe aqui em www.SteveTechArc.com e no canal do YouTube @SteveTechArc (opens in a new tab). Inscreva-se e aprofunde seu entendimento do Salesforce Identity.

Ajudando a mudar o mundo compartilhando conhecimento sobre integração com outros arquitetos e com quem está na jornada para se tornar um!

Transcrição feita com a ajuda de IA

STA 3.7