Webbkonfiguration av enhetens fingeravtryck
Konfigurationen av enhetens fingeravtryck görs i två faser.
- Konfigurera SSL-certifikatet (Domain Name Server) Secure Sockets Layer (DNS) och ladda upp det till bedrägeriskyddsportalen.
- Implementera fingeravtryck för enheter.
Det här avsnittet innehåller detaljerade instruktioner för båda dessa faser. Den första fasen måste bara slutföras en gång. Den andra fasen måste dock upprepas en gång för varje webbplats eller mobilapp där enhetens fingeravtryck implementeras.
Konfigurera DNS och generera ett SSL-certifikat
Utför följande procedurer för att konfigurera DNS och generera ett SSL-certifikat. Dns- och SSL-konfigurationen, även om det är valfritt, rekommenderas starkt för att säkerställa optimal täckning och prestanda för fingeravtryck. Med DNS- och SSL-konfigurationen kan fingeravtrycksskriptet betraktas som en förstapartsintegrering, inte en cookie från tredje part.
Konfigurera DNS
Följ dessa steg för att konfigurera DNS.
- Välj en underdomän under rotdomänen, till exempel
fpt.contoso.com
. Alla prefix kan användas. - För den valda underdomänen skapar du ett kanoniskt namn (CNAME) som pekar på
fpt.dfp.microsoft.com
.
Generera och ladda upp ett SSL-certifikat
Följ dessa steg för att generera och ladda upp ett SSL-certifikat.
- För serverdelsregistrering genererar du SSL-certifikatet för den valda underdomänen. Du kan skapa ett SSL-certifikat och lägga till alla underdomäner i fältet Alternativt namn för certifikatmottagare.
- Gå till bedrägeriskyddsportalen och välj sedan Integrering i det vänstra navigeringsfönstret.
- På sidan Integrering väljer du Redigera och väljer sedan Nästa på nästa sida för att öppna sidan Ladda upp SSL-certifikat .
- Välj Välj certifikat och ladda sedan upp det SSL-certifikat som du genererade. Om certifikatet har ett lösenord anger du det i textrutan. Välj sedan Ladda upp.
Verifiera SSL-certifikatet
Det finns två sätt att kontrollera att SSL-certifikatet har distribuerats.
- Gå till "https:///health/ping" och kontrollera certifikatets giltighet.
ELLER
- Gå till "https://www.sslshopper.com/ssl-checker.html". Ange serverns värdnamn, välj Kontrollera SSL och granska SSL-certifikatinformationen som visas på sidan.
Kommentar
Endast .pfx-filer stöds. Det kan ta några minuter att sprida certifikatet till enhetens fingeravtrycksservrar.
Implementera fingeravtryck för enheter
Din webbplats eller ditt program måste initiera begäranden om fingeravtryck på enheten några sekunder innan en transaktion skickas till Bedrägeriskydd för riskbedömning (till exempel en transaktion för att lägga till ett betalningsinstrument, inloggning eller utcheckning). Detta krav säkerställer att Bedrägeriskydd tar emot alla data som krävs för att göra en korrekt bedömning. Det här avsnittet innehåller detaljerade instruktioner för att implementera fingeravtryck på webbplatser och mobilappar.
Följ dessa steg för att implementera fingeravtryck för enheter.
Ändra följande JavaScript-skriptkod och infoga den på webbsidan eller i programmet där du vill samla in information om enhetens fingeravtryck.
<script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&instanceId=<instance_id>" type="text/javascript"></script>
- Your_Sub_Domain – underdomänen under rotdomänen.
- session_id – Den unika sessionsidentifieraren för den enhet som skapades av klienten. Den kan vara upp till 128 tecken lång och kan bara innehålla följande tecken: versaler och gemener, siffror, understreckstecken och bindestreck (a–z, A–Z, 0–9, _, -). Sessions-ID:t bör innehålla minst 16 byte slumpmässigt genererade data. När du använder hexadecimal kodning översätts detta till 32 hexadecimala tecken. Även om Microsoft rekommenderar att du använder en globalt unik identifierare (GUID) för sessions-ID:t krävs det inte.
- instance_id – Ett obligatoriskt värde för att integrera din webbplats med enhetens fingeravtryck. Använd värdet för enhetens fingeravtrycks-ID som visas på panelen Aktuell miljö på sidan Integrering i motsvarande miljö i bedrägeriskyddsportalen.
Exempel
<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>
Här är ett exempel på ett svar för 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))};
Läs in enhetens fingeravtryck när sidans element har lästs in.
window.dfp.doFpt(this.document);
När du skickar transaktioner i API:et för bedrägeriskydd anger du ett sessions-ID i fältet deviceContextId . För Utvärderingar anger du ett sessions-ID i fältet deviceFingerprinting.id .
Ange fältet device.ipAddress till kundens IP-adress som din webbplats tar emot när en kund använder din webbplats. För Utvärderingar anger du kundens IP-adress i fältet deviceFingerprinting.ipAddress . Det här fältet är valfritt och behöver inte anges om du inte har det.
Aktivera integrering på klientsidan för enhetens fingeravtryck
För vissa scenarier med webb fingeravtryck stöder Fraud Protection en specialiserad integreringsklass som kallas integrering på klientsidan. Integrering på klientsidan skiljer sig från standardintegreringsmetoder eftersom fingeravtryckssvaret returneras direkt till klienten som en krypterad nyttolast och hoppar över utvärderingsanropet från server till server.
Integrering på klientsidan är användbart för scenarier med låg svarstid där det är fördelaktigt att hoppa över server-till-server-anropet. Om du vill ta reda på om integrering på klientsidan passar bäst för ditt scenario kan du gå igenom följande frågeguide.
Är mitt scenario endast enhetens fingeravtryck?
Om ditt scenario inte bara är enhetens fingeravtryck passar inte integrering på klientsidan för ditt scenario.
Vill jag att mina fingeravtrycksdata ska finnas i webbläsaren i stället för att min server hämtar dem?
I traditionell server-till-server-integrering skickas data till Fraud Protection-servrar när attributinsamlingen är klar på webbplatsen, där du kan hämta utvärderingssvaret på servern genom att göra API-standardanropet för utvärdering. Men när attributinsamlingsdata skickas till Fraud Protection-servrarna kommer utvärderingssvaret tillbaka och returneras direkt i webbläsaren. På så sätt kan servern extrahera utvärderingssvaret från själva webbläsaren i stället för att göra server-till-server-anropet, vilket sparar lite tid. Tänk på att själva fingeravtrycket tar några sekunder, så utvärderingssvaret finns bara i webbläsaren om användaren är på sidan i några sekunder. Om ditt scenario drar nytta av att data redan finns i webbläsaren kan integrering på klientsidan vara rätt för dig.
I allmänhet löses de flesta fingeravtrycksscenarier med standardintegrering från server till server, och integrering på klientsidan är fördelaktig för några specifika scenarier där svarstiden minskar. Eftersom integrering på klientsidan är en specialiserad integreringsklass som är förenklad och säker måste följande krav uppfyllas för att aktivera den.
- Du måste vara i en rotmiljö i en klientorganisation för bedrägeriskydd.
- Du måste konfigurera ett externt anrop som returnerar ett krypteringsnyckelsvar i JSON Web Key Sets-format (JWKS). Det här externa anropet returnerar nyckeln som Bedrägeriskydd använder för att kryptera nyttolasten. Du kan använda den här nyckeln efteråt för att dekryptera den bedrägeriskyddssvarsserversida som du först får på klientsidan. Du ansvarar för att tillhandahålla nyckeln för kryptering och dekryptering. Information om hur du konfigurerar externa anrop finns i Externa anrop.
Följande kod visar ett exempel på JWKS-formatet.
{
"keys":
[
{
"kty":null,
"use":null,
"kid":null,
"k":null
}
]
}
- Du får bara använda avsnitten metadata och fingeravtryck för enheten i utvärderingsmallen för enhets fingeravtryck. Om det finns ytterligare schemaavsnitt, eller om du inte använder utvärderingsmallen för enhetens fingeravtryck, är integrationsalternativet på klientsidan inte tillgängligt för dig.
När du kommer till sidan Inställningar i utvärderingsguiden för en mall för enhets fingeravtryck är integreringsalternativet på klientsidan tillgängligt för dig. När du har valt att aktivera integrering på klientsidan väljer du det externa anropet med det JWKS-svarsformat som du har konfigurerat.
För att slutföra integreringskonfigurationen på klientsidan måste du använda en modifierad version av följande JavaScript-exempel för att returnera det krypterade svaret i webbläsaren.
<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 – underdomänen under rotdomänen.
- session_id – Den unika sessionsidentifieraren för den enhet som skapades av klienten. Den kan vara upp till 128 tecken lång och kan bara innehålla följande tecken: versaler och gemener, siffror, understreckstecken och bindestreck (a–z, A–Z, 0–9, _, -). Sessions-ID:t måste innehålla minst 16 byte slumpmässigt genererade data. När du använder hexadecimal kodning översätts detta till 32 hexadecimala tecken. Även om Microsoft rekommenderar att du använder en globalt unik identifierare (GUID) för sessions-ID:t krävs det inte.
- customer_id – Ett obligatoriskt värde för att integrera din webbplats med enhetens fingeravtryck. Använd det miljö-ID-värde som visas på panelen Aktuell miljö på sidan Integrering i motsvarande miljö i bedrägeriskyddsportalen. Du måste vara i en rotmiljö för att integrering på klientsidan ska fungera.
- assessment – API-namnet på enhetens fingeravtrycksutvärdering som konfigurerats med integrering på klientsidan aktiverat. API-namnet är skiftlägeskänsligt och hämtas från sidan för utvärderingskonfiguration.
- request_id – En unik identifierare för själva begäran, separat från sessions-ID:t. Den här identifieraren ska vara ett GUID på minst 32 tecken.
Följande exempel visar JavaScript-koden med exempelvärden.
<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>
När det här skriptet har konfigurerats och integreringen på klientsidan har aktiverats returneras fingeravtryckssvaret som en krypterad nyttolast i klientens webbläsare. Du kan använda en återanropsfunktion för att hämta nyttolasten för krypterade svar. Exemplet nedan visar återanropsfunktionen som används:
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
});
Du måste fortfarande skicka nyttolasten till servern för att dekryptera den och använda svaret. Vi förväntar oss inte att du anropar det externa anropet för att hämta krypteringsnyckeln som du är värd för för att dekryptera nyttolasten. Du bör lagra och komma åt nyckeln på samma säkra sätt som du får och hanterar andra hemligheter som används på servern.
Ytterligare resurser
- Översikt över enhetens fingeravtryck
- Attribut i enhetens fingeravtryck
- Konfigurera och implementera fingeravtryck för enheter
- Utbildning: Implementera fingeravtryck för enheter i Dynamics 365 Fraud Protection.