2017-08-08 1 views
1

Comment puis-je utiliser MSAL pour accéder à Microsoft Graph à l'aide d'Azure AD avec attribution implicite?Utilisation de MSAL pour accéder à Azure AC avec attribution implicite

J'ai une application enregistrée Azure avec oauth2AllowImplicitFlow activée et j'essaie d'appeler le userAgentApplication.acquireTokenSilent mais je reçois toujours une erreur "La connexion de l'utilisateur est requise".

Je l'appelle à partir de l'application en ligne Sharepoint, donc je suis déjà connecté à 365 services.

Existe-t-il un échantillon pour un tel scénario?

Répondre

0

Here est un exemple d'utilisation de MSAL avec Azure AD pour appeler Microsoft Graph (inclut Sharepoint, Exchange et plusieurs autres charges de travail). Pour vérifier comment faire cela, consultez le MS Graph Docs.

L'erreur que vous obtenez est provoquée par l'utilisation de acquireTokenSilent sans utilisateur connecté. MSAL a deux fonctions principales:et acquireToken. La première est une requête silencieuse garantie (ne montrera jamais un signe dans la page à l'utilisateur), et échouera si elle ne peut pas le faire avec succès. Ce dernier affichera toujours une page de connexion pour obtenir de nouveaux jetons pour un utilisateur.

Le modèle recommandé est de tenter un appel de fonction acquireTokenSilent, puis, en cas de tentative de panne, de acquireToken. Cela évite les insertions inutiles, mais n'obtient pas non plus votre application dans un état où elle ne peut pas effectuer d'opérations authentifiées.

+0

J'ai oublié d'ajouter, car vous utilisez MSAL, ce qui signifie que vous utilisez le point de terminaison Azure AD v2. Assurez-vous que votre application est enregistrée dans le [Portail RegApp] (https://apps.dev.microsoft.com) plutôt que dans le portail Azure. Vous devrez également définir 'oauth2AllowImplicitFlow' sur true ici aussi. –