Sincronização de Usuários - Alternativa a IdPs

A Sincronização de Usuários é uma forma de manter o cadastro de usuários atualizado no Looqbox quando os usuários em questão não estão cadastrados em ferramentas de IdP padrão de mercado.

Este método de integração conecta o Looqbox diretamente a uma tabela de cadastro de usuários em um DB ou a uma API (chamados daqui em diante de "Fonte de Origem"), e sincroniza o cadastro de cada usuário ativo, com seu devido permissionamento, em intervalos de tempo.

Aqui, vamos explorar dois fluxos principais dessa integração:

Informações Necessárias

Campo obrigatórios de configuração de usuário:

  • userLogin: Login do usuário

  • userShortName: Apelido do usuário

    • Quando não houver um valor disponível, usar o mesmo campo de userLogin ou email

Além dos campos acima, pelo menos um dos campos abaixo também precisa ser definido:

  • email: Email para contato usado para recuperação de senha, e envio de email de boas vindas com senha de primeiro acesso (caso essa feature esteja habilitada)

  • phoneNumber: Número para contato usado para recuperação de senha

Campo opcionais de configuração de usuário:

  • Admin: Flag informando se usuário é administrador da ferramenta

  • password: Senha inicial do usuário

    • Valores de senha podem ser gerados dinamicamente, no formado UUID, ou a partir de um campo na Fonte de Origem

    • Para casos em que nem todos os usuários possuam email cadastrado, recomenda-se utilizar a senha baseada em campos da fonte de dados, pois assim os usuários terão conhecimento da senha inicial, uma vez que não será possível o recebimento do email de boas vindas contendo a senha.

Campos adicionais com informações do usuário:

Além de todos os campos descritos acima, é possível definir quaisquer informações adicionais que sejam pertinentes para a criação do usuário, tais como Cargo e Loja. Estas informações podem ser utilizadas tanto para utilização em relatórios dentro do Looqbox, quanto no processo de mapeamento geral de acesso dos usuários.

Mapeamento de valores de Usuário

Nesta seção, você determinará como as informações dos usuários provenientes da Fonte de Origem serão traduzidas e armazenadas no Looqbox.

SELECT 
  id AS userLogin, #Campo básico de propriedade de usuário, obrigatório
  name AS userShortName, #Campo básico de propriedade de usuário, obrigatório
  email AS email, 
  number AS phoneNumber, 
  admin AS admin,
  department_name AS department_name, #Exemplo de campo usado no "de-para" de Grupo de Usuário
  job_name AS job_name #Exemplo de campo usado no "de-para" de Grupo de Usuário
FROM `tabela_sync_usuarios`

Mapeamento Geral de Acesso

Este mapeamento determina como campos da Fonte de Origem podem ser mapeados para definir em qual Grupos de Usuário do Looqbox o usuário fará parte.

Cada usuário só pode fazer parte de um único Grupo de Usuário. Para mais informações, ler "Permissionamento com Grupo de Usuários e Grupo de Respostas"

Essa definição deve ser informada ao Looqbox antes da execução da integração com a query definida na etapa anterior

[
    {
      "userGroupId": 1, // Id do grupo no Looqbox
      "fieldsMapping": [
        {
          "field": "department_name",
          "value": "CORPORATIVO"
        }
      ]
    },
    {
      "userGroupId": 2,
      "fieldsMapping": [
        {
          "field": "department_name",
          "value": "COMERCIAL"
        },
        {
          "field": "job_name",
          "value": "CAIXA NÍVEL I"
        }
      ]
    }
  ]

Além disso, pode-se definir um grupo padrão (defaultUserGroupId) para os casos em que os critérios de mapeamento acima não sejam atendidos.

Comportamentos de Cadastro

  • Definir se email de boas-vindas deve ser enviado para os usuários criados. Por padrão, essa opção é ativa.

  • Definir se o usuário deve mudar a senha após o primeiro acesso. Por padrão, essa opção é ativa.

Validação e Tratamento de Erros

Durante o processo de sincronização de usuários, diversas validações são realizadas para garantir a integridade e consistência dos dados. Algumas das principais validações incluem:

  • Propriedades Obrigatórias: O processo de sincronização verifica a presença de todas as propriedades obrigatórias na query de sincronização. Caso uma ou mais propriedades estejam ausentes, a sincronização é encerrada com um erro.

  • Geração de Senha: Se a geração de senha for do tipo QUERY e o parâmetro password não estiver especificado ou for vazio, um erro é adicionado na pipeline, interrompendo o processo.

  • Mapeamento de Grupos de Usuário: A verificação dos campos do usuário contra as regras definidas em userGroupMappings deve ser exata. Se nenhuma das condições for atendida, o usuário é adicionado ao grupo definido por defaultUserGroupId.

Documentação interna para referência

Last updated

Was this helpful?