API d’authentification
L’API d’authentification permet aux visuels d’obtenir des jetons d’accès Microsoft Entra ID (anciennement Azure AD) pour les utilisateurs connectés, ce qui facilite l’authentification par authentification unique.
Les administrateurs Power BI peuvent activer ou désactiver l’API via un commutateur global. Les paramètres par défaut bloquent (désactivent) l’API.
L’API s’applique uniquement aux visuels AppSource et non aux visuels privés. Les visuels en cours de développement peuvent être testés en mode débogage avant leur publication.
Environnements pris en charge
Les environnements suivants sont pris en charge :
- web
- Bureau
- Bureau RS
- Applications mobiles
Environnements non pris en charge
Les environnements suivants ne sont pas encore pris en charge :
- Clouds souverains
- Service RS
- Analytique incorporée
- Teams
Comment utiliser l’API d’authentification
Dans le fichier capabilities.json, ajoutez le privilège « AADAuthentication » avec votre URI d’application inscrite Microsoft Entra ID. Fabric génère un jeton avec cette audience et le remet au visuel.
Le visuel peut ensuite utiliser le jeton pour s’authentifier auprès de l’audience https://contoso.com, représentant son service principal :
"privileges": [
{
"name": "AADAuthentication",
"parameters": [
"https://contoso.com"
]
}
]
Dans le fichier pbiviz.json, définissez la version d’API sur 5.9.0 ou ultérieure :
AcquireAADTokenService nouvellement exposé contient deux méthodes :
acquireAADToken : renvoie une charge utile de jeton d’authentification de type AcquireAADTokenResult pour le visuel ou la valeur nulle en cas d’extraction impossible.
/** * Interface representing information about the user associated with the token. */ export interface AcquireAADTokenUserInfo { userId?: string; // Unique identifier for the user tenantId?: string; // Unique identifier for the tenant } /** * Interface representing the result of acquiring a Microsoft Entra ID token. */ export interface AcquireAADTokenResult { accessToken?: string; // Access token issued by Microsoft Entra ID expiresOn?: number; // Expiration time of the access token userInfo?: AcquireAADTokenUserInfo; // Information about the user associated with the token }
acquireAADTokenstatus : retourne l’un des états de privilège suivants associés à l’acquisition du jeton.
- Allowed : le privilège est autorisé dans l’environnement actuel.
- NotDeclared : la déclaration de privilège est manquante dans la section des fonctionnalités visuelles.
- NotSupported : le privilège n’est pas pris en charge dans l’environnement actuel.
- DisabledByAdmin : l’administrateur Fabric a refusé l’utilisation des privilèges.
L’exemple de code suivant montre comment acquérir un jeton Microsoft Entra ID à l’aide de l’API :
// Step 1: Check the status of AAD token acquisition
const acquireTokenStatus = await this.acquireAADTokenService.acquireAADTokenStatus();
// Step 2: Verify if acquiring the token is allowed
if (acquireTokenStatus === PrivilegeStatus.Allowed) {
// Step 3: Acquire the Microsoft Entra ID token
const acquireAADTokenResult: AcquireAADTokenResult = await this.acquireAADTokenService.acquireAADToken();
// Step 4: Confirm successful acquisition of the access token
if (acquireAADTokenResult.accessToken) {
// Step 5: Call your backend API with the obtained token
}
}
// Step 6: Handle unsuccessful AAD token acquisition
Observations et limitations
L’acquisition de jetons est bloquée si l’une des conditions suivantes s’applique :
Le commutateur de locataire est désactivé.
L’utilisateur n’est pas connecté (dans Desktop).
Le fournisseur de logiciel indépendant (ISV) n’a pas autorisé l’application Power BI au préalable.
Le format du paramètre de privilège AADAuthentication n’est pas valide.
Le visuel n’est pas approuvé publiquement ou n’est pas un visuel de débogage.
Le service principal du visuel, configuré en tant qu’audience par le visuel, ne dispose pas des consentements appropriés pour l’API Graph dans le locataire consommateur à l’aide du visuel. Pour plus d’informations sur les consentements, consultez le consentement de l’administrateur client.
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour