Mapeamento de atributo condicional

O arquivo de configuração permite que mapeamentos de valor de atributo condicional suportem usuários do AD marcados como desativados.

Esse mapeamento é feito substituindo o bloco normal “scim” pelo bloco “cond-scim”. Por exemplo,
{  "ldap":"userAccountControl",
  "cond-scim":{
    "if":{"&":["{{value}}", "2"]},
    "then":{"active":false},
    "else":{"active":true}
  }
 }
O exemplo de código precedente faz um teste de bits aritmético do valor de atributo userAccountControl com relação a 0x00000002. Se o bit estiver configurado (a operação bit a bit "and" produzirá um resultado diferente de zero), {“active”:false} será mesclado à nova entrada de esboço do usuário, caso contrário, {"active":true} será mesclado a ela.
Alguns operadores lógicos são implementados, mas apenas a expressão "&" (and bit a bit) foi testada.
  • "&" (and bit a bit)
  • "!" (não lógico)
  • "&&"(and lógico)
  • "||"(or lógico)
  • "==" (igualdade de sequência)
Também implementados estão "!" (negativo lógico), "&&" (e lógico), "||" (ou lógico), "==" (igualdade entre cadeias de caracteres).
Por exemplo, seria possível tornar o valor do atributo SCIM resultante condicional para que o valor de atributo do LDAP AD seja igual a uma entre duas sequências. As comparações de sequência não fazem distinção entremaiúsculas e minúsculas.
"if":{
  "||":[
    {"==":["{{value}}", "Fred"]},
    {"==":["{{value}}", "Barney"]}
  ]
 },
 "then":...
 "else":...
VerifyO exemplo IcbLdapSync.json contém a configuração JSON para permitir o mapeamento do atributo ` LDAP"userAccountControl" ` do AD para o atributo `-SCIM "active" `.