我正在使用Flask/Azure Web应用程序在一个小网站上工作,并希望使用Azure AD身份验证,这是通过Azure门户Web应用程序设置提供的。 用户登录后,我还需要使用相同的凭据访问Microsoft Graph。 当应用实际在 Azure 上设置时,这似乎很容易:
根据需要请求这些标头并发出请求。
X-MS-TOKEN-AAD-ID-TOKEN X-MS-TOKEN-AAD-ACCESS-TOKEN X-MS-TOKEN-AAD-EXPIRES-ON X-MS-TOKEN-AAD-REFRESH-TOKEN
但是,在开发过程中,我不知道如何完成这部分。 我不想写一点,上传到Azure,捕获错误,然后重新开始。 有没有办法在开发时模拟登录名/标头?
在本地,可以在 azure ad 中注册 AD 应用,为Microsoft Graph 授予Delegated
权限,例如,如果要调用此 API -List users
,请授予User.Read.All
委托的权限,然后使用身份验证代码流获取访问令牌以调用 API,有关详细信息,请参阅此链接。成功调用 API 后,意味着用户可以调用 API。
用户登录后,我还需要使用相同的凭据访问Microsoft Graph。
若要在用户登录 Web 应用后调用 Microsoft Graph,需要在资源浏览器中 Web 应用的authsettings
->additionaloginparams
中配置https://microsoft.graph.com
,请访问此链接。