Del via


JavaScript-API for godkjenning

Fabric-fronten tilbyr en JavaScript API for Fabric-arbeidsbelastninger for å skaffe seg et token for programmet i Microsoft Entra ID. Denne artikkelen beskriver denne API-en.

API

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

API-en returnerer et AccessToken-objekt som inneholder selve tokenet og en utløpsdato for tokenet.

Hvis du vil kalle opp API-en i eksempeleksempelet Frontend, oppretter du et eksempelelement og blar nedover og velger Naviger til godkjenning-siden. Derfra kan du velge Hent tilgangstoken for å motta et token tilbake.

Skjermbilde som viser godkjenningsinndeling.

Samtykker

Hvis du vil forstå hvorfor samtykker kreves, kan du gå over bruker- og administratorsamtykke i Microsoft Entra ID.

Merk

Samtykke kreves for at CRUD/Jobs skal fungere og skaffe tokener på tvers av leiere.

Hvordan fungerer samtykker i stoffarbeidsbelastninger?

For å gi et samtykke til et bestemt program oppretter Fabric FE en MSAL-forekomst som er konfigurert med arbeidsbelastningens program-ID og ber om et token for de angitte omfangene (additionalScopesToConsent – se AcquireAccessTokenParams).

Når du ber om et token med arbeidsbelastningsprogrammet for et bestemt omfang, viser Microsoft Entra ID et popup-samtykke i tilfelle det mangler, og omdirigerer deretter popup-vinduet til omadresserings-URI-en som er konfigurert i programmet.

Vanligvis er omadresserings-URI-en i samme domene som siden som ba om tokenet, slik at siden kan få tilgang til hurtigmenyen og lukke den.

I vårt tilfelle er det ikke i samme domene, siden Fabric ber om tokenet og omdirigerings-URI-en for arbeidsbelastningen ikke er i Fabric-domenet. Så når dialogboksen for samtykke åpnes, må den lukkes manuelt etter omadressering. Vi bruker ikke koden som returneres i omadresserings-URIen, derfor setter vi den bare automatisk (når Microsoft Entra ID omdirigerer popup-en til omadresserings-URI-en, lukkes den ganske enkelt).

Du kan se koden/konfigurasjonen av omadresserings-URI-en i index.ts-filen .

Her er et eksempel på et hurtigmeny for samtykke for appen «min arbeidsbelastningsapp» og avhengighetene (lagring og Power BI) som vi konfigurerte når vi gikk gjennom konfigurasjonen av godkjenning:

Skjermbilde av dialogboksen Tillatelser som kreves.

En annen måte å gi samtykke i hjemmeleieren (valgfritt)

Hvis du vil ha et samtykke i hjemmeleieren av programmet, kan du be leieradministratoren om å gi et samtykke for hele leieren ved hjelp av en nettadresse i følgende format (sett inn din egen leier-ID og klient-ID):

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

AcquireAccessTokenParams

Når du kaller acquireAccessToken JS API, kan vi angi tre parametere:

  • additionalScopesToConsent: Andre omfang å be om et samtykke for, for eksempel nye scenarier.
  • claimsForConditionalAccessPolicy: Krav som returneres fra Microsoft Entra ID når OBO-flyter mislykkes, krever for eksempel OBO multifaktorgodkjenning.
  • promptFullConsent: Ber om et fullstendig samtykkevindu for de statiske avhengighetene til arbeidsbelastningsprogrammet.

additionalScopesToConsent

Hvis arbeidsmengden frontend ber om et token som skal brukes for kall til arbeidsbelastningens serverdel, bør denne parameteren være null. Arbeidsbelastning backend kan ikke utføre OBO på tokenet mottatt på grunn av en samtykke mangler feil, i så fall arbeidsbelastningen backend må overføre feilen til arbeidsbelastningen frontend og gi denne parameteren.

claimsForConditionalAccessPolicy

Denne parameteren brukes når du står overfor OBO-feil i arbeidsbelastningen BE på grunn av en betinget tilgangspolicy som er konfigurert på leieren.

OBO-feil på grunn av policyer for betinget tilgang returnerer en streng kalt «krav». Denne strengen skal sendes til arbeidsbelastningen FE der FE skal be om et token og sende kravet som claimsForConditionalAccessPolicy. Hvis du vil ha mer informasjon, kan du se Håndtering av godkjenning med flere faktorer (MFA), betinget tilgang og trinnvis samtykke.

Se AuthenticationService AddBearerClaimToResponse-bruk i BE-eksemplet for å se eksempler på svar når OBO-operasjoner mislykkes på grunn av samtykke som mangler eller policyer for betinget tilgang.

Hvis du vil lære mer om denne additionalScopesToConsent og claimsForConditionalAccessPolicy og se eksempler på bruk, kan du se Retningslinjer for arbeidsbelastningsgodkjenning og dypdykk.

promptFullConsent

Når den sendes som sann, vises et fullstendig samtykke fra de statiske avhengighetene for brukeren uansett om den har gitt et samtykke tidligere eller ikke. Et eksempel på bruk for denne parameteren er å legge til en knapp i UX der brukeren kan bruke den til å gi fullstendig samtykke til arbeidsbelastningen.