使用MSAL以隐式授权访问Azure AC

时间:2017-08-08 10:48:35

标签: msal

如何使用MSAL通过隐式授权使用Azure AD访问Microsoft Graph?

我已经启用了oauth2AllowImplicitFlow的Azure注册应用程序,我正在尝试调用userAgentApplication.acquireTokenSilent,但我一直收到错误“需要用户登录”。

我从Sharepoint在线应用程序调用它,所以我已经登录到365服务。

这种情况是否有任何样本?

1 个答案:

答案 0 :(得分:0)

Here是如何在Azure AD中使用MSAL来调用Microsoft Graph(包括Sharepoint,Exchange和其他几个工作负载)的示例。要查看如何执行此操作,请查看MS Graph Docs

您收到的错误是由于在没有登录用户的情况下使用acquireTokenSilent而导致的。 MSAL有两个主要功能:acquireTokenSilentacquireToken。前者是有保证的静默请求(永远不会向用户显示登录页面),如果无法成功执行此操作,则会失败。后者将始终显示登录页面以获取用户的新令牌。

建议的模式是尝试acquireTokenSilent函数调用,然后在失败时尝试acquireToken。这可以避免不必要的登录,但也无法使您的应用程序处于无法执行经过身份验证的操作的状态。