web-dev-qa-db-fra.com

PowerBI AADSTS90002: Autorisation du locataire non trouvée

Référence:Solution d'échantillonnage Power BI

J'ai déplacé le code nécessaire de l'exemple de solution vers ma solution et me donne l'erreur suivante lors de l'authentification:

AADSTS90002: Autorisation du locataire introuvable. Cela peut arriver s'il y a aucun abonnement actif pour le locataire. Vérifiez auprès de votre abonnement administrateur.

Je m'authentifie avec ces 2 lignes:

 var authenticationContext = new AuthenticationContext(AuthorityUrl);
 var authenticationResult = await authenticationContext.AcquireTokenAsync(ResourceUrl, ApplicationId, credential);

L'erreur se produit sur la dernière ligne. Ci-dessous, les valeurs de mon web.config:

<add key="authorityUrl" value="https://login.windows.net/common/oauth2/authorize/" />
<add key="resourceUrl" value="https://analysis.windows.net/powerbi/api" />

Encore une fois, cela fonctionne à 100% dans l'exemple d'application, mais pas lorsque je passe à mon application. Des idées pourquoi?

Merci d'avance pour votre aide.

6
AxleWack

Donc, après quelques recherches, j'ai découvert que cela avait à voir avec la version des paquets de nuget suivants:

Microsoft.IdentityModel.Clients.ActiveDirectory
Microsoft.PowerBI.Api

Les versions suivantes devaient être utilisées:

Microsoft.IdentityModel.Clients.ActiveDirectory v3.13.9
Microsoft.PowerBI.Api V2.0.12

Il semble que cela ait quelque chose à voir avec les points de terminaison utilisés. Si vous rétrogradez vers les versions ci-dessus (qui sont les mêmes que celles utilisées dans l'exemple d'outils fourni), cela fonctionne.

Les dernières versions utilisent quelque chose comme ceci: https://login.microsoftonline.com/common/ où les versions fournies dans les mêmes utilisent: https://login.windows.net/common/oauth2/authorize/

Une fois que j'ai "déclassé" mes versions, il s'est authentifié!

J'espère que ceci aide quelqu'un d'autre.

8
AxleWack

Dans mon cas, au lieu de rétrograder Microsoft.IdentityModel.Clients.ActiveDirectory, j’ai changé le point de terminaison d’authentification de https://login.windows.net/{My tenant}/oauth2/token à https://login.microsoftonline.com/{My tenant}, ce qui a résolu le problème.

2
Amir Chatrbahr

Résolu en rétablissant l'assembly " Microsoft.IdentityModel.Clients.ActiveDirectory " à Version = 3.13.9.1126.

L'utilisation de la dernière version de cette assemblée a soulevé ce problème. Version = 4.4.0.0

2
Kaushal Khamar

Oui, toutes les réponses sont correctes, je veux juste mettre un peu de lumière sur les choses comme par exemple pourquoi ça marche en version basse et non en nouvelle version

Selon le document officiel ceci est une meilleure mise à jour de validation d'autorité de Microsoft

ADAL.NET 4.x est également moins tolérant qu’ADAL 3.x lorsqu’il définit le paramètre autorité dans le constructeur de AuthenticationContext. Valide les autorités doivent être, dans le cas d’Azure AD v1.0:

0
Jayendran