1

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

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

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

这种情况有没有样本?

4

1 回答 1

0

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

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

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

于 2017-08-08T17:27:02.523 回答