0

Je suis en train de développer une application MVC qui devrait recevoir des informations sur tous les utilisateurs Azure Resource authentifiés. J'effectue la partie authentification à partir de Visual Studio Wizzard en mode Organisations multiples.Impossible de demander Azure Resource Manager à partir de l'application C# MVC

Je connecter contre: https://login.microsoftonline.com/common

Maintenant, je dois obtenir le jeton d'accès d'un contrôleur de l'application. J'ai essayé d'obtenir le jeton d'authentification de ce code:

ClientCredential cc = new ClientCredential(_clientId, _servicePrincipalPassword); 

    AuthenticationContext context = new 
    AuthenticationContext("https://login.microsoftonline.com/common"); 
    var result = await context.AcquireTokenAsync("https://management.azure.com/", cc); 
    return result.AccessToken; 

Je reçois un jeton, mais lorsque vous l'utilisez, je reçois un InvalidAuthenticationToken. Mon token manque l'une de ces revendications: 'puid', 'altsecid' ou 'oid'.

Je ne sais pas quoi faire et j'ai besoin d'aide. Je suis assez sûr d'avoir ce code qui fonctionne il y a quelques jours.

Répondre

0

Je développe une application MVC qui devrait obtenir des informations sur tous les Azure ressources un utilisateur authentifié ont.

Selon votre code, vous utilisez le flux d'informations d'identification du client pour authentifier l'identité de l'application, l'authentification comme l'application signifie qu'il n'y a pas d'utilisateur impliqué. Pour répondre à vos besoins, vous pouvez utiliser OAuth 2.0 authorization code flow. Here est un exemple de code permettant de créer une application Web SaaS mutualisée qui appelle une API Web à l'aide d'Azure AD.

Dans l'exemple de code, AuthorizationCodeReceived la notification pouvait être utilisée pour acquérir un jeton pour l'api de repos ARM. La notification SecurityTokenValidated contient la logique de validation de l'appelant personnalisée.

+0

Merci, ça marche maintenant –