Configuração da Web de impressão digital do dispositivo
A configuração da análise de impressões digitais para dispositivos é feita em duas fases.
- Configurar o certificado de protocolo SSL do DNS (Servidor de Nomes de Domínio) e carregue-o no portal do Fraud Protection.
- Implemente a impressão digital do dispositivo.
Esta seção fornece instruções detalhadas para essas duas fases. A primeira fase deve ser preenchida apenas uma vez. No entanto, a segunda fase deve ser repetida uma vez para cada site ou aplicativo móvel em que a impressão digital do dispositivo é implementada.
Configurar 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 primária, não um cookie de terceiros.
Configurar DNS
Para configurar o DNS, siga estas etapas.
- Selecione um subdomínio no seu domínio raiz, como
fpt.contoso.com
. Qualquer prefixo pode ser usado. - Para o subdomínio selecionado, crie um nome canônico (CNAME) que aponte para
fpt.dfp.microsoft.com
.
Gere e carregue um certificado SSL
Para gerar e carregar um certificado SSL, siga estas etapas.
- 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 do Objeto do Certificado.
- Vá para o portal do Fraud Protection e, em seguida, no painel de navegação esquerda, selecione Integração.
- Na página Integração, selecione Editar e, em seguida, na próxima página, selecione Avançar para abrir a página Carregar certificado SSL.
- Escolha Selecionar Certificado e carregue o certificado SSL gerado. Se o certificado tiver uma senha, insira-a na caixa de texto. Depois, selecione Carregar.
Validar o certificado SSL
Há duas maneiras de verificar se o certificado SSL foi implantado com êxito.
- Vá em "https:///health/ping" e verifique a validade do certificado.
OR
- Vá para "https://www.sslshopper.com/ssl-checker.html". Insira o nome do host do servidor, selecione Verificar SSL e revise as informações do certificado SSL exibidas na página.
Observação
Somente arquivos .pfx são suportados. A propagação do certificado para os servidores de análise de impressões digitais para dispositivos pode levar alguns minutos.
Implementar a análise de impressões digitais para dispositivos
Seu site ou aplicativo deve iniciar as solicitações de análise de impressões digitais para dispositivos alguns segundos antes de enviar uma transação para o Fraud Protection para avaliação de risco (como uma transação para adicionar um instrumento de pagamento, entrada ou saída). Esse requisito garante que o Fraud Protection receba todos os dados necessários para fazer uma avaliação precisa. Esta seção fornece instruções detalhadas para implementar a análise de impressões digitais para dispositivos em sites e aplicativos móveis.
Para implementar a análise de impressões digitais para dispositivos, siga estas etapas.
Modifique o código de script JavaScript a seguir e insira-o na página da Web ou no aplicativo para o qual você deseja coletar informações de análise de impressões digitais para dispositivos.
<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 seu domínio raiz.
- session_id – O identificador de sessão exclusivo do dispositivo criado pelo cliente. Pode ter até 128 caracteres e conter apenas os seguintes caracteres: letras romanas maiúsculas e minúsculas, dígitos, caracteres sublinhados e hífens (a–z, A–Z, 0–9, _, -). A ID da sessão deve conter pelo menos 16 bytes de dados gerados aleatoriamente. Ao usar a codificação hexadecimal, isso será convertido em 32 caracteres hexadecimais. Embora a Microsoft recomende que você use um GUID (identificador global exclusivo) para a ID da sessão, ele não é necessário.
- instance_id – Um valor necessário para integrar seu site com a impressão digital do dispositivo. Use o valor da ID da Análise de impressões digitais para dispositivos listado no bloco Ambiente atual na página Integração do ambiente correspondente no portal do Fraud Protection.
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>
Veja aqui 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))};
Carregue a análise de impressões digitais para dispositivos após o carregamento dos elementos da página.
window.dfp.doFpt(this.document);
Ao enviar transações na API do Fraud Protection, defina uma ID de sessão no campo deviceContextId. Em Avaliações, defina uma ID de sessão no campo deviceFingerprinting.id.
Defina o campo 'device.ipAddress' como o endereço IP do cliente que seu site recebe quando um cliente usa o site. Em Avaliações, defina o endereço IP do cliente no campo deviceFingerprinting.ipAddress. Esse campo é opcional e não precisa ser definido se você não o tiver.
Habilitar a integração do lado do cliente para impressão digital do dispositivo
Para determinados cenários de impressão digital da Web, o Fraud Protection 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.
Meu dispositivo de cenário está apenas imprimindo impressões digitais?
Se o cenário não for apenas impressão digital do dispositivo, a integração do lado do cliente não será adequada para o seu cenário.
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, depois que a coleta de atributos é concluída no site, os dados são enviados para os servidores do Fraud Protection, onde você pode obter a resposta de avaliação em seu servidor fazendo a chamada de API de avaliação padrão. No entanto, na integração do lado do cliente, quando os dados de coleta de atributos são enviados para os servidores do Fraud Protection, a resposta da avaliação retorna e é retornada diretamente no navegador. Dessa forma, seu servidor pode extrair a resposta de avaliação do próprio navegador em vez de fazer a chamada de servidor para servidor, economizando algum tempo. Lembre-se de 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 beneficiar dos dados que já estão presentes no navegador, a integração do lado do cliente pode ser adequada 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 pré-requisitos a seguir devem ser atendidos para habilitá-la.
- Você deve estar em um ambiente raiz de um locatário do Fraud Protection.
- Você deve configurar uma chamada externa que retorne uma resposta de chave de criptografia no formato JSON Web Key Sets (JWKS). Essa chamada externa retorna a chave que o Fraud Protection usa para criptografar a carga. Você pode usar essa chave posteriormente para descriptografar a resposta do Fraud Protection no lado do servidor que você recebe inicialmente no lado do cliente. Você é responsável por fornecer a chave para criptografia e descriptografia. 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ê só deve usar 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 você acessa a página Configurações do assistente de avaliação de um modelo de impressão digital de dispositivo, a opção de integração do lado do cliente está 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 configurado.
Para concluir a configuração da 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 seu domínio raiz.
- session_id – O identificador de sessão exclusivo do dispositivo criado pelo cliente. Ele 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ífens (a–z, A–Z, 0–9, _, -). A ID da sessão deve conter pelo menos 16 bytes de dados gerados aleatoriamente. Ao usar a codificação hexadecimal, isso será convertido em 32 caracteres hexadecimais. Embora a Microsoft recomende que você use um GUID (identificador global exclusivo) para a ID da sessão, ele não é necessário.
- customer_id – Um valor necessário para integrar seu site com a impressão digital do dispositivo. Use o valor da ID do ambiente listado no bloco Ambiente atual da página Integração do ambiente correspondente no portal do Fraud Protection. 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. Esse identificador deve ser um GUID de pelo menos 32 caracteres.
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 obter 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 precisa passar a carga útil para o servidor para descriptografá-la 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 obtém e gerencia outros segredos usados em seu servidor.
Recursos adicionais
- Visão geral da impressão digital do dispositivo
- Atributos na impressão digital do dispositivo
- Configurar e implementar a impressão digital do dispositivo
- Treinamento: Implemente a impressão digital do dispositivo no Dynamics 365 Fraud Protection.