Todos os produtos
Search
Central de documentação

Identity as a Service:OIDC id_token custom field configuration

Última atualização: Aug 18, 2026

Este documento descreve como adicionar campos personalizados a um id_token OIDC e fornece exemplos de configuração.

Regras para campos personalizados do id_token

O valor de um campo personalizado do id_token pode ser uma variável, uma constante ou uma expressão. Insira o nome da variável diretamente, sem aspas. Coloque valores constantes entre aspas duplas ("").

Tipo

Valor

Descrição

variável

Insira o nome da variável diretamente, sem aspas.

user.username

Nome de usuário.

user.displayName

Nome de exibição.

user.phone (obsoleto)

Número de telefone, sem o código do país. Esta variável está obsoleta.

user.phoneNumber

Número de telefone, sem o código do país.

user.email

E-mail do usuário.

user.status

Status do usuário. Valores válidos:

  • enabled: Usuário ativado.

  • disabled: Usuário desativado.

user.primaryOrganizationalUnitId

ID da unidade organizacional principal do usuário.

user.organizationalUnits

Unidades organizacionais às quais o usuário pertence.

ArrayMap(user.organizationalUnits, __item.organizationalUnitId)

IDs das unidades organizacionais às quais o usuário pertence.

Formato: array JSON.

user.groups

Grupos aos quais a conta de usuário pertence.

Formato: array JSON.

ArrayMap(user.groups, __item.groupId)

IDs de grupo do usuário.

Formato: array JSON.

ArrayMap(user.groups, __item.groupExternalId)

IDs de grupo externos do usuário.

Formato: array JSON.

user.customFields

Campos personalizados do usuário.

Formato: array JSON.

user.customFieldMap.$fieldname$.fieldValue

Valor de um campo personalizado específico. Substitua $fieldname$ pelo nome do campo personalizado.

constante

Valor de string fixo. Coloque a constante entre aspas duplas ("").

expressão

Recurso avançado para concatenar ou transformar valores.

Para mais informações, consulte Advanced account field expressions.

Exemplo de objeto de usuário:

{
  ...
  "customFieldMap": {
        "place": {
            "fieldName": "place",
            "fieldValue": "beijing"
        },
        "age": {
            "fieldName": "age",
            "fieldValue": "18"
        }
    },
    "identityProviderUserMap": {
        "idp_m2gngriuenktdkxxxxxx": {
            "identityProviderId": "idp_m2gngriuenktdkxxxxxx",
            "identityProviderType": "ding_talk",
            "identityProviderExternalId": "corp_1234xxxxxxx",
            "identityProviderUserId": "b2ed5fc0xxxxx"
        }
    },
    "organizationalUnits": [
        {
            "organizationalUnitId": "ou_sdfadtaaxxxxxx",
            "organizationalUnitName": "AD",
            "primary": false
        },
        {
            "organizationalUnitId": "ou_werttxxxxxx",
            "organizationalUnitName": "name_002",
            "primary": true
        }
    ],
    "primaryOrganizationalUnitId": "ou_werttxxxxxx",
    "customFields": [
        {
            "fieldName": "place",
            "fieldValue": "beijing"
        },
        {
            "fieldName": "age",
            "fieldValue": "18"
        }
    ],
    "groups": [
        {
            "groupId": "group_jp6al4sn4n4wjgjxxxxxx",
            "groupName": "group1",
            "groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx"
        },
        {
            "groupId": "group_vavikcxewkf5h3oxxxxxx",
            "groupName": "group2",
            "groupExternalId": "group_vavikcxewkf5h3oxxxxxx"
        }
    ],
  ...
}

Exemplos de expressões OIDC

Na página application do IDaaS, clique em Hide advanced configuration para expandir a área de configuração avançada. Na seção Extend id_token, adicione os nomes dos campos personalizados e as expressões correspondentes à tabela de mapeamento.

  1. A expressão user.organizationalUnits retorna:

    [
      {
        "organizationalUnitId": "ou_sdfadtaaxxxxxx",
        "organizationalUnitName": "AD",
        "primary": false
      },
      {
        "organizationalUnitId": "ou_werttxxxxxx",
        "organizationalUnitName": "name_002",
        "primary": true
      }
    ]
  2. A expressão ArrayMap(user.organizationalUnits, __item.organizationalUnitId) retorna:

    [
      "ou_sdfadtaaxxxxxx",
      "ou_werttxxxxxx"
    ]
  3. A expressão user.groups retorna:

    [
      {
        "groupId": "group_jp6al4sn4n4wjgjxxxxxx",
        "groupName": "group1",
        "groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx"
      },
      {
        "groupId": "group_vavikcxewkf5h3oxxxxxx",
        "groupName": "group2",
        "groupExternalId": "group_vavikcxewkf5h3oxxxxxx"
      }
    ]
  4. A expressão ArrayMap(user.groups, __item.groupId) retorna:

    [
        "group_jp6al4sn4n4wjgjxxxxxx",
        "group_vavikcxewkf5h3oxxxxxx"
    ]
  5. A expressão ArrayMap(user.groups, __item.groupExternalId) retorna:

    [
        "group_jp6al4sn4n4wjgjxxxxxx",
        "group_vavikcxewkf5h3oxxxxxx"
    ]
  6. A expressão user.customFields retorna:

    [
        {
          "fieldName": "place",
          "fieldValue": "beijing"
        },
        {
          "fieldName": "age",
          "fieldValue": "18"
        }
    ]
  7. A expressão user.customFieldMap.age.fieldValue retorna:

    18

Regras para reescrita de campos personalizados do id_token

Regras para campos padrão

  1. Os campos padrão do sistema não podem ser reescritos: exp, nbf, iat, iss, jti, at_hash, c_hash, nonce, sid.

  2. É possível reescrever o campo: sub.

Regras para campos de informações do usuário

A possibilidade de reescrever os seguintes campos de informações do usuário no id_token depende do scope solicitado.

Nome do campo

Scope associado

Condição de não reescrita

email, email_verified

email

O scope solicitado inclui email e o atributo de e-mail do usuário não está vazio.

phone_number, phone_number_verified

phone

O scope solicitado inclui phone e o atributo phoneNumber do usuário não está vazio.

name, preferred_username, updated_at, locale

profile

O scope solicitado inclui profile.

instance_id, application_id

instance

O scope solicitado inclui instance.

Recomendações de configuração

  1. Selecione os scopes com cuidado na configuração da aplicação. Os scopes solicitados determinam quais campos de usuário podem ser reescritos.

  2. Para reescrever um campo específico, não solicite o scope associado ou verifique se o atributo de usuário correspondente está vazio.