Delen via


Webinstallatie van apparaatvingerving

Het instellen van apparaatvingerafdrukken wordt in twee fasen uitgevoerd.

  1. Configureer het SSL-certificaat (Secure Sockets Layer) voor DNS (Domain Name Server) en upload dit naar de Fraud Protection-portal.
  2. Apparaatvingerafdruk implementeren.

Dit gedeelte bevat gedetailleerde instructies voor beide fasen. De eerste fase moet slechts eenmaal worden voltooid. De tweede fase moet echter eenmaal worden herhaald voor elke website of mobiele app waar vingerafdruk van apparaten wordt geïmplementeerd.

DNS instellen en een SSL-certificaat genereren

Voltooi de volgende procedures om DNS in te stellen en een SSL-certificaat te genereren. Het instellen van DNS en SSL, terwijl dit optioneel is, wordt sterk aanbevolen om een optimale dekking en prestaties van vingerafdrukken te garanderen. Met DNS- en SSL-installatie kan het vingerafdrukscript worden beschouwd als een integratie van een eerste partij, niet als een cookie van derden.

DNS instellen

Volg deze stappen om DNS in te stellen.

  1. Selecteer een subdomein onder uw hoofddomein, zoals fpt.contoso.com. Elk voorvoegsel kan worden gebruikt.
  2. Maak voor het geselecteerde subdomein een officiële naam (CNAME) die verwijst naar fpt.dfp.microsoft.com.

Een SSL-certificaat genereren en uploaden

Volg deze stappen om een SSL-certificaat te genereren en te uploaden.

  1. Voor back-end onboarding genereert u het SSL-certificaat voor het geselecteerde subdomein. U kunt één SSL-certificaat en alle subdomeinen toevoegen in het veld Subject Alternative Name (SAN) van het certificaat.
  2. Ga naar de Fraud Protection-portal en selecteer vervolgens in het linkernavigatievenster de optie Integratie.
  3. Selecteer Bewerken op de pagina Integratie en selecteer vervolgens op de volgende pagina Volgende om de pagina SSL-certificaat uploaden te openen.
  4. Selecteer Certificaat selecteren en upload het SSL-certificaat dat u hebt gegenereerd. Als uw certificaat een wachtwoord heeft, voert u dit in het tekstvak in. Selecteer vervolgens Uploaden.

Notitie

Alleen PFX-bestanden worden ondersteund. Het kan enkele minuten duren om het certificaat door te geven aan de opslagservers van het apparaat.

Apparaatvingerafdruk implementeren

Uw website of toepassing moet enkele seconden voordat een transactie naar Fraud Protection wordt verzonden voor risico-evaluatie (zoals een transactie voor het toevoegen van een betaalinstrument, inloggen of uitchecken) verzoeken om apparaatvingerafdrukken initiëren. Deze vereiste zorgt ervoor dat Fraudebescherming alle gegevens ontvangt die nodig zijn om een nauwkeurige beoordeling te maken. In deze sectie vindt u gedetailleerde instructies voor het implementeren van de functie voor vingerafdrukken voor websites en mobiele apps.

Volg deze stappen om apparaatvingerafdrukken te implementeren.

  1. Wijzig de volgende JavaScript-scriptcode en voeg deze in op de webpagina of in de toepassing waar u informatie van apparaatvingerafdrukken wilt verzamelen.

    <script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&instanceId=<instance_id>" type="text/javascript"></script>
    
    • Your_Sub_Domain – het subdomein onder uw hoofddomein.
    • Sessie-id: de unieke sessie-id van het apparaat die door de klant is gemaakt. Deze mag maximaal 128 tekens lang zijn en alleen de volgende tekens bevatten: Romeinse hoofd- en kleine letters, cijfers, onderstrepingstekens en koppeltekens (a–z, A–Z, 0–9, _, -). De sessie-id moet minimaal 16 bytes aan willekeurig gegenereerde gegevens bevatten. Bij gebruik van hexadecimale codering komt dit neer op 32 hexadecimale tekens. Hoewel Microsoft aanbeveelt dat u een GUID (Globally Unique Identifier) gebruikt voor de sessie-id, is dit niet vereist.
    • instance_id: dit is een vereiste waarde om uw website te integreren met apparaatvingerafdrukken. Gebruik de waarde voor Apparaatvingerafdruk-id op de tegel Huidige omgeving van de pagina Integratie van de overeenkomstige omgeving in de Fraud Protection-portal.

    Voorbeeld

    <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>
    

    Dit is een voorbeeld van een respons voor 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. Laad apparaatvingerafdrukken nadat de elementen van de pagina zijn geladen.

    window.dfp.doFpt(this.document);
    
  3. Wanneer u transacties in de Fraud Protection-API verzendt, stelt u een sessie-id in het veld deviceContextId in. Voor evaluaties stelt u een sessie-id in het veld deviceFingerprinting.id in.

  4. Stel het veld 'device.ipAddress' in op het IP-adres van de klant dat uw website ontvangt wanneer een klant uw site gebruikt. Voor evaluaties stelt u het IP-adres van de klant in het veld deviceFingerprinting.ipAddress in. Dit veld is optioneel en hoeft niet te worden ingesteld als u dit niet hebt.

Integratie aan de clientzijde inschakelen voor apparaatvingerving

Voor bepaalde scenario's voor webvingervingers ondersteunt Fraud Protection een gespecialiseerde integratieklasse, genaamd integratie aan de clientzijde. Integratie aan de clientzijde verschilt van de standaardintegratieprocedures, omdat het vingerafdrukantwoord rechtstreeks naar de client wordt geretourneerd als een versleutelde nettolading, waardoor de evaluatieaanroep van de server naar de server wordt overgeslagen.

Integratie aan de clientzijde is handig voor scenario's met lage latentie waarbij het overslaan van de server-naar-server-aanroep voordelig is. Als u wilt bepalen of integratie aan de clientzijde de juiste keuze is voor uw scenario, bekijkt u de volgende vraaghandleiding.

  1. Is mijn scenario alleen apparaatvingerafdruk?

    Als uw scenario niet alleen vingerafdruk van apparaten is, is integratie aan de clientzijde niet geschikt voor uw scenario.

  2. Wil ik dat mijn vingerafdrukgegevens zich in de browser bevinden in plaats van dat mijn server deze ophaalt?

    In traditionele server-naar-server-integratie, zodra het verzamelen van kenmerken op de website is voltooid, worden de gegevens naar de servers van Fraud Protection gepusht, waar u het evaluatieantwoord op uw server kunt verkrijgen door de standaard-API-aanroep van de evaluatie-API te maken. In integratie aan de clientzijde komt het evaluatieantwoord echter terug en wordt deze rechtstreeks in de browser geretourneerd wanneer de gegevens voor het verzamelen van kenmerken naar de servers van Fraud Protection worden gepusht. Op deze manier kan uw server het evaluatieantwoord uit de browser zelf extraheren in plaats van de server-naar-server-aanroep te maken, waardoor u tijd bespaart. Houd er rekening mee dat de vingerafdruk zelf een paar seconden duurt, zodat het evaluatieantwoord slechts in de browser aanwezig is als de gebruiker zich een paar seconden op de pagina bevindt. Als uw scenario profiteert van de gegevens die al aanwezig zijn in de browser, is integratie aan de clientzijde mogelijk geschikt voor u.

Over het algemeen worden de meeste scenario's met vingerafdrukken opgelost door de standaard server-naar-server-integratie en is integratie aan de clientzijde nuttig voor een aantal specifieke scenario's waarbij de latentie lager is. Aangezien integratie aan de clientzijde een gespecialiseerde integratieklasse is die vereenvoudigd en veilig is, moet aan de volgende vereisten worden voldaan om deze in te schakelen.

  • U moet zich in een hoofdomgeving van een tenant voor fraudebescherming bevinden.
  • U moet een externe aanroep instellen die een antwoord op de versleutelingssleutel retourneert in de JWKS-indeling (JWKS). Deze externe aanroep retourneert de sleutel die Fraudebeveiliging gebruikt om de nettolading te versleutelen. U kunt deze sleutel later gebruiken om de serverzijde van de fraudebeveiligingsreactie te ontsleutelen die u in eerste instantie aan de clientzijde ontvangt. U bent verantwoordelijk voor het verstrekken van de sleutel voor versleuteling en ontsleuteling. Zie Externe aanroepen voor meer informatie over het instellen van externe aanroepen.

De volgende code toont een voorbeeld van de JWKS-indeling.

{
  "keys":
  [
    {
      "kty":null,
      "use":null,
      "kid":null,
      "k":null
    }
  ]
}
  • U moet alleen de secties metagegevens en apparaatvingerafdruk van de evaluatiesjabloon voor apparaatvingerving gebruiken. Als er extra schemasecties zijn of als u de evaluatiesjabloon voor apparaatvingerafdruk niet gebruikt, is de integratieoptie aan de clientzijde niet beschikbaar voor u.

Wanneer u de pagina Instellingen van de evaluatiewizard voor een apparaatvingerafdruksjabloon bereikt, ziet u de integratieoptie aan de clientzijde die voor u beschikbaar is. Nadat u ervoor hebt gekozen om de integratie aan de clientzijde in te schakelen, selecteert u de externe aanroep met de JWKS-antwoordindeling die u hebt ingesteld.

Als u de installatie van de integratie aan de clientzijde wilt voltooien, moet u een gewijzigde versie van het volgende JavaScript-voorbeeld gebruiken om het versleutelde antwoord in de browser te retourneren.

<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 – het subdomein onder uw hoofddomein.
  • Sessie-id: de unieke sessie-id van het apparaat die door de klant is gemaakt. Het mag maximaal 128 tekens lang zijn en mag alleen de volgende tekens bevatten: hoofdletters en kleine letters, cijfers, onderstrepingstekens en afbreekstreepjes (a–z, A–Z, 0–9, _, -). De sessie-id moet ten minste 16 bytes aan willekeurig gegenereerde gegevens bevatten. Bij gebruik van hexadecimale codering komt dit neer op 32 hexadecimale tekens. Hoewel Microsoft aanbeveelt dat u een GUID (Globally Unique Identifier) gebruikt voor de sessie-id, is dit niet vereist.
  • customer_id: dit is een vereiste waarde om uw website te integreren met vingerafdruk van apparaten. Gebruik de waarde van de omgevings-id die wordt vermeld op de tegel Huidige omgeving van de integratiepagina van de bijbehorende omgeving in de portal Fraudebeveiliging. U moet zich in een hoofdomgeving bevinden om integratie aan de clientzijde te laten werken.
  • assessment : de API-naam van de evaluatie voor apparaatvingerving die is ingesteld met integratie aan de clientzijde ingeschakeld. De API-naam is hoofdlettergevoelig en opgehaald vanaf de configuratiepagina van de evaluatie.
  • request_id: een unieke id voor de aanvraag zelf, gescheiden van de sessie-id. Deze id moet een GUID van ten minste 32 tekens lang zijn.

In het volgende voorbeeld ziet u de JavaScript-code met voorbeeldwaarden.

<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>

Zodra dit script is ingesteld en integratie aan de clientzijde is ingeschakeld, wordt het vingerafdrukantwoord geretourneerd als een versleutelde nettolading in de browser van de client. U kunt een callback-functie gebruiken om de nettolading van het versleutelde antwoord te pakken. In het onderstaande voorbeeld ziet u de callback-functie die wordt gebruikt:

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
});

U moet de nettolading nog steeds doorgeven aan uw server om deze te ontsleutelen en het antwoord te gebruiken. We verwachten niet dat u de externe aanroep aanroept om de versleutelingssleutel op te halen die u host voor het ontsleutelen van de nettolading. U moet de sleutel op dezelfde veilige manier opslaan en openen als u andere geheimen op uw server krijgt en beheert.

Aanvullende bronnen