Ověřování javascriptového rozhraní API
Front-end Prostředků infrastruktury nabízí rozhraní API JavaScriptu pro úlohy Fabric k získání tokenu pro svou aplikaci v Microsoft Entra ID. Tento článek popisuje toto rozhraní API.
rozhraní API
acquireAccessToken(params: AcquireAccessTokenParams): Promise<AccessToken>;
export interface AcquireAccessTokenParams {
additionalScopesToConsent?: string[];
claimsForConditionalAccessPolicy?: string;
promptFullConsent?: boolean;
}
Rozhraní API vrátí objekt AccessToken, který obsahuje samotný token a datum vypršení platnosti tokenu.
Pokud chcete volat rozhraní API v ukázce front-endu, vytvořte ukázkovou položku a posuňte se dolů a vyberte Přejít na stránku Ověřování. Odtud můžete vybrat Získat přístupový token a získat token zpět.
Souhlasí
Pokud chcete zjistit, proč jsou vyžadovány souhlasy, projděte si souhlas uživatele a správce v Microsoft Entra ID.
Poznámka:
Souhlasy se vyžadují, aby operace CRUD/úlohy fungovaly a získály tokeny napříč tenanty.
Jak fungují souhlasy v úlohách Infrastruktury?
Pokud chcete udělit souhlas pro konkrétní aplikaci, nástroj Fabric FE vytvoří instanci MSAL nakonfigurovanou s ID aplikace úlohy a požádá o token pro poskytnuté obory (additionalScopesToConsent – viz AcquireAccessTokenParams).
Při žádosti o token s aplikací úloh pro konkrétní obor zobrazí ID Microsoft Entra souhlas pro případ, že chybí, a pak přesměruje automaticky otevírané okno na identifikátor URI přesměrování nakonfigurovaný v aplikaci.
Identifikátor URI přesměrování je obvykle ve stejné doméně jako stránka, která požadovala token, aby stránka měla přístup k místnímu okně a zavře ji.
V našem případě není ve stejné doméně, protože Fabric požaduje token a identifikátor URI přesměrování úlohy není v doméně fabric. Takže když se otevře dialogové okno souhlasu, musí se po přesměrování zavřít ručně. Nepoužíváme kód vrácený v identifikátoru redirectUri, proto ho jenom automaticky zakřadíme (když Microsoft Entra ID přesměruje automaticky otevírané okno na identifikátor URI přesměrování, který se jednoduše zavře).
Kód/konfigurace identifikátoru URI přesměrování můžete zobrazit v souboru index.ts .
Tady je příklad automaticky otevíraného okna souhlasu pro naši aplikaci "moje aplikace úloh" a její závislosti (úložiště a Power BI), které jsme nakonfigurovali při přechodu na nastavení ověřování:
Jiný způsob, jak udělit souhlasy v domovském tenantovi (volitelné)
Pokud chcete získat souhlas v domovském tenantovi aplikace, můžete požádat správce tenanta, aby udělil souhlas pro celého tenanta pomocí adresy URL v následujícím formátu (vložte vlastní ID tenanta a ID klienta):
https://login.microsoftonline.com/{tenantId}/adminconsent?client_id={clientId}
AcquireAccessTokenParams
Při volání rozhraní acquireAccessToken JS API můžeme zadat tři parametry:
- additionalScopesToConsent: Další obory, které mají požádat o souhlas, například reconsent scénáře.
- claimsForConditionalAccessPolicy: Deklarace identity vrácené z ID Microsoft Entra při selhání toků OBO, například OBO vyžaduje vícefaktorové ověřování.
- promptFullConsent: Zobrazí výzvu k úplnému okně souhlasu se statickými závislostmi aplikace úloh.
additionalScopesToConsent
Pokud front-end úlohy žádá o token, který se má použít pro volání back-endu úlohy, měl by mít tento parametr hodnotu null. Back-end úlohy nemůže na přijatém tokenu provést OBO, protože chybí chyba souhlasu, v takovém případě bude muset back-end úlohy rozšířit chybu do front-endu úlohy a poskytnout tento parametr.
claimsForConditionalAccessPolicy
Tento parametr se používá při selhání OBO v sadě funkcí BE kvůli některým zásadám podmíněného přístupu nakonfigurovaným v tenantovi.
Selhání OBO kvůli zásadám podmíněného přístupu vrací řetězec s názvem "deklarace identity". Tento řetězec by se měl odeslat do úlohy FE, kde by fe měl požádat o token a předat deklaraci identity jako claimsForConditionalAccessPolicy. Další informace najdete v tématu Zpracování vícefaktorového ověřování (MFA), podmíněného přístupu a přírůstkového souhlasu.
Informace o příkladu použití AddBearerClaimToResponse služby AuthenticationService najdete v ukázce BE a podívejte se na příklady odpovědí v případech, kdy operace OBO selžou kvůli chybějícím zásadám souhlasu nebo podmíněného přístupu.
Další informace o tomto doplňkuScopesToConsent a claimsForConditionalAccessPolicy a projděte si příklady použití, přečtěte si pokyny pro ověřování úloh a podrobné informace.
promptFullConsent
Při předání jako true se uživateli zobrazí úplný souhlas se statickými závislostmi bez ohledu na to, jestli dříve poskytl souhlas. Příkladem použití tohoto parametru je přidání tlačítka do uživatelského prostředí, kde ho uživatel může použít k udělení plného souhlasu s úlohou.