Gerenciamento do mapeamento de consentimento

Os escopos consentidos são armazenados e podem ser gerenciados; consulte “Gerenciamento de consentimentos de privacidade ”. Além disso, o âmbito do consentimento pode estar associado a uma finalidade de proteção de dados. Consulte a seção “Gerenciamento de finalidades de privacidade ”.

Os detalhes da autorização representam uma permissão detalhada; portanto, os detalhes da autorização concedida pelo usuário também são armazenados e podem ser gerenciados. Assim como os escopos, os detalhes da autorização concedida também podem ser associados a uma finalidade de privacidade.

No entanto, ao contrário dos escopos, que são strings, os detalhes de autorização são objetos JSON. Avaliar a igualdade entre dois objetos JSON é complexo. A implementação padrão suporta apenas alguns métodos de comparação.
  • A primeira abordagem consiste full hashem gerar um valor hash a partir do objeto JSON serializado e utilizá-lo para comparar dois objetos JSON de detalhes de autorização do mesmo tipo.
  • A segunda abordagem é common fields hash. Nessa abordagem, o valor de hash é calculado a partir dos campos de dados comuns no objeto JSON. Os campos de dados comuns são locations, actions, datatypes, identifier e privileges. Utilize esta abordagem apenas se o objeto JSON com os detalhes de autorização estiver utilizando esses campos.
  • A última abordagem é advanced. Essa abordagem utiliza o script CELx para definir a lógica de comparação. Por exemplo, quando os detalhes da autorização representam um transaction e incluem uma propriedade exclusiva transactionID , essa propriedade pode ser utilizada em vez das abordagens descritas anteriormente.
Observação: O objeto JSON pode ser acessado no script usando requestContext.ad a chave. Se você quiser retornar a transactionID propriedade do objeto JSON, pode usar requestContext.ad.transactionID no script. A estrutura geral e o uso de requestContext são descritos na seção “Contexto de solicitação do HTTP ” da seção “Funções de atributos”.

Mapeamento personalizado de consentimentos

Você pode optar por não usar a implementação padrão por vários motivos, tais como:

  • Você pode associar a política de privacidade aos detalhes da autorização solicitada.
  • Você pode associar propriedades adicionais ao item de consentimento solicitado. Por exemplo, o consentimento deve ser concedido automaticamente ou exigido. A tabela a seguir mostra as propriedades que podem ser associadas ao item de consentimento.
Você pode optar por definir um mapeamento de consentimento personalizado e especificar um script CELx para retornar um objeto JSON. O objeto JSON pode ter as seguintes propriedades:
Propriedade Tipo Obrigatório? Descrição
purpose sequência Sim Gerenciando propósitos de privacidade
attribute sequência Depende de propósito Gerenciando atributos
accessType sequência Depende de propósito O tipo de acesso é configurado com o propósito de privacidade de dados. Caso não seja fornecido, odefault valor será utilizado.
value sequência Não Indica um pedido de consentimento mais específico. Por exemplo, consentimento para um e-mail específico.
custom Objeto JSON. O tipo de valor da propriedade JSON é sequência. Não Qualquer informação de contexto adicional a ser incluída no consentimento. Este está disponível para ser exibido na página de consentimento na forma de macros de modelo.
claims Objeto JSON. O valor da propriedade JSON pode ser de qualquer tipo. Não Se a solicitação for autorizada, as solicitações correspondentes serão incluídas no token de ID emitido.
required boolean Não Se required estiver definido como verdadeiro, o usuário deverá responder afirmativamente. Esse consentimento não é necessário se a política de privacidade indicar que o consentimento nunca pode ser aceito.
autoGrant boolean Não Se autoGrant estiver definido como verdadeiro, o usuário não será solicitado a dar seu consentimento e o item de consentimento será automaticamente autorizado.
global boolean Não Se global estiver definido como verdadeiro, o consentimento registrado será válido para todas as aplicações. Essa configuração é relevante para itens de consentimento, como documentos de Termos e Condições, que são aceitos pelo usuário apenas uma vez.
audience sequência Não Se a solicitação for autorizada, esse valor será adicionado aos públicos-alvo concedidos, juntamente com a lista de públicos-alvo configurada no aplicativo e o ID de cliente padrão.
Aqui está um exemplo do JSON retornado pelo mapeamento de consentimento personalizado:
	{
    "purpose": "marketing",
    "attribute": "email",
    "accessType": "read",
    "value": "jhill@ibm.com",
    "custom": {
        "type": "personal"
    },
    "autoGrant": true,
    "required": false
}