Partilhar via


Configuração Web de impressão digital do dispositivo

A configuração da impressão digital do dispositivo é feita em duas fases.

  1. Configure o certificado SSL (Secure Sockets Layer) do Servidor de Nomes de Domínio (DNS) e carregue-o para o portal de Proteção contra Fraude.
  2. Implemente a impressão digital do dispositivo.

Esta seção fornece instruções detalhadas para ambas as fases. A primeira fase só tem de ser concluída uma vez. No entanto, a segunda fase deve ser repetida uma vez para cada site ou aplicativo móvel onde a impressão digital do dispositivo é implementada.

Configurar o DNS e gerar um certificado SSL

Conclua os procedimentos a seguir para configurar o DNS e gerar um certificado SSL. A configuração de DNS e SSL, embora opcional, é altamente recomendada para garantir a cobertura e o desempenho ideais de impressão digital. A configuração de DNS e SSL permite que o script de impressão digital seja considerado uma integração de primeira parte, não um cookie de terceiros.

Configurar o DNS

Para configurar o DNS, siga estes passos.

  1. Selecione um subdomínio em seu domínio raiz, como fpt.contoso.com. Qualquer prefixo pode ser usado.
  2. Para o subdomínio selecionado, crie um nome canônico (CNAME) que aponte para fpt.dfp.microsoft.com.

Gerar e carregar um certificado SSL

Para gerar e carregar um certificado SSL, siga estes passos.

  1. Para integração de back-end, gere o certificado SSL para o subdomínio selecionado. Você pode criar um certificado SSL e adicionar todos os subdomínios no campo Nome Alternativo da Entidade do Certificado.
  2. Vá para o portal de Proteção contra Fraude e, no painel de navegação esquerdo, selecione Integração.
  3. Na página Integração, selecione Editar e, na página seguinte, selecione Avançar para abrir a página Carregar certificado SSL.
  4. Selecione Selecionar certificado e, em seguida, carregue o certificado SSL que você gerou. Se o seu certificado tiver uma palavra-passe, introduza-a na caixa de texto. Em seguida, selecione Carregar.

Nota

Somente arquivos .pfx são suportados. A propagação do certificado para os servidores de impressão digital do dispositivo pode levar alguns minutos.

Implementar impressão digital do dispositivo

Seu site ou aplicativo deve iniciar solicitações de impressão digital do dispositivo alguns segundos antes de uma transação ser enviada à Proteção contra fraude para avaliação de risco (como uma transação para adicionar um instrumento de pagamento, entrar ou finalizar pagamento). Este requisito garante que a Proteção contra Fraude receba todos os dados necessários para fazer uma avaliação precisa. Esta seção fornece instruções detalhadas para implementar a impressão digital de dispositivos em sites e aplicativos móveis.

Para implementar a impressão digital do dispositivo, siga estas etapas.

  1. Modifique o seguinte código de script JavaScript e insira-o na página Web ou na aplicação onde pretende recolher informações de impressão digital do dispositivo.

    <script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&instanceId=<instance_id>" type="text/javascript"></script>
    
    • Your_Sub_Domain – O subdomínio sob o seu domínio raiz.
    • session_id – O identificador de sessão exclusivo do dispositivo que foi criado pelo cliente. Pode ter até 128 caracteres e pode conter apenas os seguintes caracteres: letras romanas maiúsculas e minúsculas, dígitos, caracteres sublinhados e hífenes (a–z, A–Z, 0–9, _, -). O ID da sessão deve conter pelo menos 16 bytes de dados gerados aleatoriamente. Ao usar codificação hexadecimal, isso se traduz em 32 caracteres hexadecimais. Embora a Microsoft recomende que você use um identificador global exclusivo (GUID) para a ID da sessão, ele não é necessário.
    • instance_id – Este é um valor necessário para integrar o seu site com a impressão digital do dispositivo. Use o valor ID de impressão digital do dispositivo listado no bloco Ambiente atual na página Integração do ambiente correspondente no portal Proteção contra fraude.

    Exemplo

    <script src="https://fpt.contoso.com/mdt.js?session_id=211d403b-2e65-480c-a231-fd1626c2560e&instanceId=b472dbc3-0928-4577-a589-b80090117691" type="text/javascript"></script>
    

    Aqui está um exemplo de uma resposta para mdt.js.

    window.dfp={url:"https://fpt.contoso.com/?session_id=211d403b-2e65-480c-a231-fd1626c2560e&CustomerId=b472dbc3-0928-4577-a589-b80090117691",sessionId:"211d403b-2e65-480c-a231-fd1626c2560e",customerId:"b472dbc3-0928-4577-a589-b80090117691",dc:"uswest"};window.dfp.doFpt=function(doc){var frm,src;true&&(frm=doc.createElement("IFRAME"),frm.id="fpt_frame",frm.style.width="1px",frm.style.height="1px",frm.style.position="absolute",frm.style.visibility="hidden",frm.style.left="10px",frm.style.bottom="0px",frm.setAttribute("style","color:#000000;float:left;visibility:hidden;position:absolute;top:-100;left:-200;border:0px"),src="https://Your_Sub_Domain/?session_id=211d403b-2e65-480c-a231-fd1626c2560e&CustomerId=b472dbc3-0928-4577-a589-b80090117691",frm.setAttribute("src",src),doc.body.appendChild(frm))};
    
  2. Carregue a impressão digital do dispositivo depois que os elementos da página forem carregados.

    window.dfp.doFpt(this.document);
    
  3. Ao enviar transações na API de proteção contra fraude, defina um ID de sessão no campo deviceContextId . Para Avaliações, defina um ID de sessão no campo deviceFingerprinting.id .

  4. Defina o campo device.ipAddress como o endereço IP do cliente que seu site recebe quando um cliente usa seu site. Para Avaliações, defina o endereço IP do cliente no campo deviceFingerprinting.ipAddress . Este campo é opcional e não precisa ser definido se você não o tiver.

Habilite a integração do lado do cliente para impressão digital do dispositivo

Para determinados cenários de impressão digital na Web, a Proteção contra Fraude oferece suporte a uma classe especializada de integração chamada integração do lado do cliente. A integração do lado do cliente difere das práticas de integração padrão porque a resposta de impressão digital é retornada diretamente ao cliente como uma carga criptografada, ignorando a chamada de avaliação de servidor para servidor.

A integração do lado do cliente é útil para cenários de baixa latência em que ignorar a chamada de servidor para servidor é vantajoso. Para determinar se a integração do lado do cliente é ou não a opção certa para o seu cenário, consulte o guia de perguntas a seguir.

  1. O meu dispositivo de cenário é apenas impressão digital?

    Se o seu cenário não for apenas a impressão digital do dispositivo, a integração do lado do cliente não é adequada para o seu cenário.

  2. Quero que meus dados de impressão digital estejam no navegador em vez de meu servidor buscá-los?

    Na integração tradicional de servidor para servidor, uma vez que a coleta de atributos é concluída no site, os dados são enviados para os servidores da Proteção contra Fraude, onde você pode obter a resposta da avaliação em seu servidor fazendo a chamada de API de avaliação padrão. Na integração do lado do cliente, no entanto, quando os dados de coleta de atributos são enviados para os servidores da Proteção contra fraudes, a resposta da avaliação retorna e é retornada diretamente no navegador. Desta forma, o servidor pode extrair a resposta de avaliação do próprio navegador em vez de fazer a chamada de servidor para servidor, poupando assim algum tempo. Tenha em mente que a impressão digital em si leva alguns segundos, portanto, a resposta da avaliação só estará presente no navegador se o usuário estiver na página por alguns segundos. Se o seu cenário se beneficia dos dados que já estão presentes no navegador, a integração do lado do cliente pode ser ideal para você.

Em geral, a maioria dos cenários de impressão digital é resolvida pela integração padrão de servidor para servidor, e a integração do lado do cliente é benéfica para alguns cenários específicos em que a diminuição da latência é crítica. Como a integração do lado do cliente é uma classe especializada de integração simplificada e segura, os seguintes pré-requisitos devem ser atendidos para habilitá-la.

  • Você deve estar em um ambiente raiz de um locatário de Proteção contra Fraude.
  • Você deve configurar uma chamada externa que retorna uma resposta de chave de criptografia no formato JSON Web Key Sets (JWKS). Esta chamada externa devolve a chave que a Proteção contra Fraude utiliza para encriptar a carga útil. Você pode usar essa chave posteriormente para descriptografar a resposta da Proteção contra Fraude do lado do servidor que você recebe inicialmente no lado do cliente. É responsável por fornecer a chave para encriptação e desencriptação. Para obter informações sobre como configurar chamadas externas, consulte Chamadas externas.

O código a seguir mostra um exemplo do formato JWKS.

{
  "keys":
  [
    {
      "kty":null,
      "use":null,
      "kid":null,
      "k":null
    }
  ]
}
  • Você deve usar apenas as seções de metadados e impressão digital do dispositivo do modelo de avaliação de impressão digital do dispositivo. Se houver seções de esquema adicionais ou se você não estiver usando o modelo de avaliação de impressão digital do dispositivo, a opção de integração do lado do cliente não estará disponível para você.

Quando chegar à página Configurações do assistente de avaliação de um modelo de impressão digital de dispositivo, você verá a opção de integração do lado do cliente disponível para você. Depois de optar por habilitar a integração do lado do cliente, você selecionará a chamada externa com o formato de resposta JWKS que você configurou.

Para concluir a configuração de integração do lado do cliente, para retornar a resposta criptografada no navegador, você deve usar uma versão modificada do exemplo JavaScript a seguir.

<script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&customerId=<customer_id>&assessment=<assessment>&requestId=<request_id>" type="text/javascript"></script>
  • Your_Sub_Domain – O subdomínio sob o seu domínio raiz.
  • session_id – O identificador de sessão exclusivo do dispositivo que foi criado pelo cliente. Pode ter até 128 caracteres e só pode conter os seguintes caracteres: letras romanas maiúsculas e minúsculas, dígitos, caracteres sublinhados e hífenes (a–z, A–Z, 0–9, _, -). O ID da sessão deve conter pelo menos 16 bytes de dados gerados aleatoriamente. Ao usar codificação hexadecimal, isso se traduz em 32 caracteres hexadecimais. Embora a Microsoft recomende que você use um identificador global exclusivo (GUID) para a ID da sessão, ele não é necessário.
  • customer_id – Este é um valor necessário para integrar o seu site com a impressão digital do dispositivo. Use o valor de ID do ambiente listado no bloco Ambiente atual da página Integração do ambiente correspondente no portal Proteção contra fraude. Você deve estar em um ambiente raiz para que a integração do lado do cliente funcione.
  • assessment – O nome da API da avaliação de impressão digital do dispositivo configurada com a integração do lado do cliente habilitada. O nome da API diferencia maiúsculas de minúsculas e é extraído da página de configuração de avaliação.
  • request_id – Um identificador exclusivo para a solicitação em si, separado do ID da sessão. Este identificador deve ser um GUID de pelo menos 32 caracteres de comprimento.

O exemplo a seguir mostra o código JavaScript com valores de exemplo.

<script src="https://fpt.contoso.com/mdt.js?session_id=2b2a1f5e-afa7-4c6d-a905-ebf66eaedc83&customerId=b3f6d54b-961c-4193-95ee-b6b204c7fd23&assessment=CSI&requestId=b12e86a0-37b1-43a2-958b-3f04fe7cef6c" type="text/javascript"></script>

Depois que esse script é configurado e a integração do lado do cliente é habilitada, a resposta de impressão digital é retornada como uma carga criptografada no navegador do cliente. Você pode usar uma função de retorno de chamada para pegar a carga de resposta criptografada. O exemplo abaixo mostra a função de retorno de chamada em uso:

window.dfp.doFpt(document, function (response) {
    if(response == null || response.startsWith('ServerError'))
        console.log("Error Scenario");
    else
        console.log("Success Scenario"); // pass to server so it can decrypt and use response
});

Você ainda tem que passar a carga para o seu servidor para descriptografá-lo e usar a resposta. Não esperamos que você chame a chamada externa para obter a chave de criptografia que você hospeda para descriptografar a carga. Você deve armazenar e acessar a chave da mesma maneira segura que você obtém e gerencia outros segredos usados em seu servidor.

Recursos adicionais