如何使用MSAL通过隐式授权使用Azure AD访问Microsoft Graph?
我已经启用了oauth2AllowImplicitFlow
的Azure注册应用程序,我正在尝试调用userAgentApplication.acquireTokenSilent
,但我一直收到错误“需要用户登录”。
我从Sharepoint在线应用程序调用它,所以我已经登录到365服务。
这种情况是否有任何样本?
答案 0 :(得分:0)
Here是如何在Azure AD中使用MSAL来调用Microsoft Graph(包括Sharepoint,Exchange和其他几个工作负载)的示例。要查看如何执行此操作,请查看MS Graph Docs。
您收到的错误是由于在没有登录用户的情况下使用acquireTokenSilent
而导致的。 MSAL有两个主要功能:acquireTokenSilent
和acquireToken
。前者是有保证的静默请求(永远不会向用户显示登录页面),如果无法成功执行此操作,则会失败。后者将始终显示登录页面以获取用户的新令牌。
建议的模式是尝试acquireTokenSilent
函数调用,然后在失败时尝试acquireToken
。这可以避免不必要的登录,但也无法使您的应用程序处于无法执行经过身份验证的操作的状态。