Share via


Bruge OAuth med Cross-Origin Resource Sharing til at oprette forbindelse til et enkelt side-program til Microsoft Dynamics 365

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Med Opdatering til Microsoft Dynamics CRM Online 2016 og Microsoft Dynamics 365 i det lokale miljø med Installation med adgang via internet kan du oprette en enkelt side-app (SPA), som bruger JavaScript til at arbejde med Microsoft Dynamics 365-data. Til dette formål er Cross-Origin Resource Sharing (CORS) aktiveret, så dine SPA'er kan forbigå browserrestriktioner, der normalt forhindrer anmodninger, der krydser domænegrænser.

Bemærk

Understøttelse af CORS leveres kun, når du bruger Web-API. Du kan ikke bruge organisationstjenesten eller den frarådede organisations datatjeneste.

Dette emne indeholder

Politik for SPA'er og Same-Origin

Bruge CORS sammen med Microsoft Dynamics 365 (online)

Sådan fungerer adal.js

Forberedelse til brug af ADAL.js med en SPA

Politik for SPA'er og Same-Origin

SPA'er afhænger af omfattende brug af JavaScript på klientsiden til at oprette en enkelt dynamisk side, der ikke er kræver indlæsning af nye sider. I stedet bruger de XMLHTTPRequest'er til at hente data og andre ressourcer fra serveren. SPA'er fungerer godt, når dataene og ressourcerne findes i samme domæne som programmet. Men hvis du vil beskytte adgangen til data og ressourcer på andre domæner, Indfører alle moderne browsere en Same-Origin-politik for at forhindre, at websteder bruger data og ressourcer fra websteder på et andet domæne. CORS gør det muligt at få adgang til ressourcer på et andet domæne. Oprettelse af en SPA for at få adgang til Microsoft Dynamics 365-data uden CORS, er ikke en brugbar mulighed.

Bruge CORS sammen med Microsoft Dynamics 365 (online)

Cross-Origin Resource Sharing-specifikationen giver en detaljeret beskrivelse af, hvordan du implementerer og bruger CORS. Dem forklarer alt om de forskellige hoveder og preflight-anmodninger, som du skal anvende for at få CORS til at fungere. Den gode nyhed er, at du ikke behøver at være ekspert i CORS for at bruge den sammen med Microsoft Dynamics 365. Den serverbaserede del er fuldført for dig, og du skal blot vide, hvordan den forbruges. Du behøver ikke at forstå alle mekanismer bag CORS for at bruge den sammen med Microsoft Dynamics 365. Du kan i stedet bruge Azure Active Directory Authentication Library til JavaScript (adal.js), og det tager sig af de mange komplekse dele i CORS for dig. Eftersom brugerne af Dynamics 365 (online) og Installation med adgang via internet godkendes ved hjælp af Azure Active Directory, er ADAL.js den understøttede metode til at godkende brugere af SPA.

Sådan fungerer adal.js

Kernebiblioteket er adal.js. Du kan få adgang til den minimerede version af dette bibliotek på https://secure.aadcdn.microsoftonline-p.com/lib/1.0.0/js/adal.min.js. Github-projektet og dokumentationen findes på https://github.com/AzureAD/azure-activedirectory-library-for-js.

Adal.js-biblioteket indeholder funktionerne på lavt niveau til at godkende ved hjælp af OAuth2. Adal.js er designet, så den kan bruges sammen med andre strukturer, der findes f.eks. et adal-angular.js-bibliotek, der er udviklet til brug sammen med Angular-strukturen. Når du vil arbejde med dette bibliotek, skal du indstille visse egenskaber for konfigurationen. Derefter venter det, indtil der indtræffer hændelser, der udløser interaktionsforløbet. Dette kan blot være at kalde login-funktionen, eller hvis dit program har funktionsmåder for ruteplanlægning, kan det igangsættes af, hvordan controlleren for denne rute er konfigureret.

Når der kræves godkendelse, bliver brugeren ført til siden Log på, hvor brugeren kan angive deres legitimationsoplysninger. Når de bliver godkendt, bliver de ført tilbage til den kaldende side med de tokenoplysninger, som er tilknyttet som et fragment (med #) til URL-adressen. På denne måde kan SPA'en få fat i tokenet og gemme det i det lokale eller sessionslageret i browseren. Det betyder, at hele siden indlæses igen efter godkendelsen, men denne gang er oplysningerne om den godkendte bruger tilgængelige, og programmet kan fortsætte med at kalde Dynamics 365 Web API eller andre ressourcer.

Ved kald af Dynamics 365 Web API, skal du medtage tokenværdien i et Authorization-hoved med din XMLHTPPRequest. Da tokens har en udløbsdato, skal du imidlertid være sikker på, at den ikke udløber, mens din SPA er i brug. Husk, at angivelse af nye legitimationsoplysninger kræver, at hele indholdet af SPA-siden er overført til på logonsiden. Det vil indebære en meget dårlig brugeroplevelse, hvis det sker, mens andre brugere er midt i at udføre en handling. For at sikre, at dette ikke sker, skal du placere dit Web API-opkald inden i en acquireToken-funktion, så gyldigheden af tokenet kan kontrolleres og opdateres, om nødvendigt uden at brugeren skal besøge logonsiden.

Forberedelse til brug af ADAL.js med en SPA

Hvis du vil konfigurere din SPA til at arbejde med adal.js, skal du:

  1. Registrere dit program med Azure Active Directory-lejeren

  2. Eksportere dit registrerede programmanifest og redigere det for at tillade OAuth2 Implicit Flow og derefter importere JSON-filen tilbage til registrering af programmet.

  3. Angive konfigurationsvariabler i din SPA med oplysninger fra denne registrering.

    Du skal medtage følgende:

    • URL-adressen til din Microsoft Dynamics 365-organisation

    • Navnet på Active Directory-lejeren, som din organisation bruger til at godkende

    • Det klient-id, du får, når du registrerer dit program

    • Den URL-adresse, hvor SPA'en bliver installeret eller rettet for fejl under udvikling

Sættet af nødvendige trin er beskrevet i Gennemgang: Registrere og konfigurere SimpleSPA-program med adal.js.

Se også

Godkende brugere i Microsoft Dynamics 365
Oprette forbindelse til Microsoft Dynamics 365-webtjenester vha. OAuth
Active Directory og kravsbaseret godkendelse

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret