Del via


JavaScript-API til godkendelse

Fabric-frontend tilbyder en JavaScript-API til Fabric-arbejdsbelastninger, så de kan hente et token til deres program i Microsoft Entra ID. I denne artikel beskrives denne API.

API

acquireAccessToken(params: AcquireAccessTokenParams): Promise<AccessToken>;  
export interface AcquireAccessTokenParams {
    additionalScopesToConsent?: string[];  
    claimsForConditionalAccessPolicy?: string;
    promptFullConsent?: boolean;
}

API'en returnerer et AccessToken-objekt, der indeholder selve tokenet og en udløbsdato for tokenet.

Hvis du vil kalde API'en i Frontend-eksemplet, skal du oprette et eksempelelement og derefter rulle ned og vælge Naviger til godkendelsesside. Herfra kan du vælge Hent adgangstoken for at modtage et token tilbage.

Skærmbillede, der viser godkendelsesafsnittet.

Samtykker

Hvis du vil forstå, hvorfor der kræves samtykke, skal du gå til Bruger- og administratorsamtykke i Microsoft Entra-id.

Bemærk

Samtykker er påkrævet, for at CRUD/Jobs kan fungere og hente tokens på tværs af lejere.

Hvordan fungerer samtykker i Fabric-arbejdsbelastninger?

Hvis du vil give samtykke til et bestemt program, opretter Fabric FE en MSAL-forekomst , der er konfigureret med arbejdsbelastningens program-id, og anmoder om et token for de angivne områder (additionalScopesToConsent – se AcquireAccessTokenParams).

Når du beder om et token med arbejdsbelastningsprogrammet for et bestemt område, viser Microsoft Entra ID et pop op-samtykke, hvis det mangler, og omdirigerer derefter pop op-vinduet til den omdirigerings-URI, der er konfigureret i programmet.

Omdirigerings-URI'en er typisk i det samme domæne som den side, der anmodede om tokenet, så siden kan få adgang til pop op-vinduet og lukke den.

I vores tilfælde er det ikke i det samme domæne, da Fabric anmoder om tokenet, og omdirigerings-URI'en for arbejdsbelastningen ikke findes i Fabric-domænet. Så når dialogboksen med samtykke åbnes, skal den lukkes manuelt efter omdirigering. Vi bruger ikke den kode, der returneres i redirectURI'en, og derfor lukker vi den automatisk (når Microsoft Entra ID omdirigerer pop op-vinduet til omdirigerings-URI'en, lukkes den ganske enkelt).

Du kan se koden/konfigurationen af omdirigerings-URI'en i filen index.ts .

Her er et eksempel på et pop op-vindue med samtykke til vores app "min arbejdsbelastningsapp" og dens afhængigheder (lager og Power BI), som vi konfigurerede, da vi gik over godkendelseskonfigurationen:

Skærmbillede af dialogboksen Tilladelser, der kræves.

En anden måde at give samtykker i lejeren til hjemmet (valgfrit)

Hvis du vil have samtykke i programmets lokale lejer, kan du bede din lejeradministrator om at give samtykke til hele lejeren ved hjælp af en URL-adresse i følgende format (indsæt dit eget lejer-id og klient-id' et):

https://login.microsoftonline.com/{tenantId}/adminconsent?client_id={clientId}

AcquireAccessTokenParams

Når du kalder acquireAccessToken JS-API'en, kan vi angive tre parametre:

  • additionalScopesToConsent: Andre områder, der skal anmodes om samtykke til, f.eks. genkonsekventerede scenarier.
  • claimsForConditionalAccessPolicy: Krav, der returneres fra Microsoft Entra ID, når OBO-flow mislykkes, f.eks. kræver OBO multifaktorgodkendelse.
  • promptFullConsent: Beder om et fuldt samtykkevindue for de statiske afhængigheder for arbejdsbelastningsprogrammet.

additionalScopesToConsent

Hvis frontend for arbejdsbelastning beder om et token, der skal bruges til kald til backend for arbejdsbelastningen, skal denne parameter være null. Arbejdsbelastningens backend kan muligvis ikke udføre OBO på det token, der modtages på grund af en manglende samtykkefejl. I så fald skal arbejdsbelastningens backend overføre fejlen til arbejdsbelastningens frontend og angive denne parameter.

claimsForConditionalAccessPolicy

Denne parameter bruges, når der opstår OBO-fejl i arbejdsbelastningen BE på grund af en politik for betinget adgang, der er konfigureret på lejeren.

OBO-fejl på grund af politikker for betinget adgang returnerer en streng med navnet "krav". Denne streng skal sendes til arbejdsbelastningen FE, hvor FE skal bede om et token og overføre kravet som claimsForConditionalAccessPolicy. Du kan få flere oplysninger under Håndtering af multifaktorgodkendelse (MFA), betinget adgang og trinvist samtykke.

Se Brug af AuthenticationService AddBearerClaimToResponse i BE-eksemplet for at få vist eksempler på svar, når OBO-handlinger mislykkes på grund af manglende samtykke eller politikker for betinget adgang.

Hvis du vil vide mere om dette ekstraScopesToConsent og kravForConditionalAccessPolicy og se eksempler på brug, skal du se Retningslinjer for godkendelse af arbejdsbelastning & detaljeret gennemgang.

promptFullConsent

Når den overføres som sand, vises der fuldt samtykke til de statiske afhængigheder for brugeren, uanset om brugeren tidligere har givet samtykke eller ej. Et eksempel på brug af denne parameter er at føje en knap til UX'en, hvor brugeren kan bruge den til at give fuldt samtykke til arbejdsbelastningen.