我正在尝试从本机应用程序调用图形 api URL https://graph.microsoft.com/v1.0/me但访问被拒绝。
如果我从本机应用程序调用 web api 授权控制器,我成功地进行了身份验证。
当我尝试在后端进行 REST 调用时,我也被拒绝访问(提供用户的令牌)。
我尝试通过 HttpClient 类(用于本机应用程序)和 adal.js 用于前端来实现它——在这两种情况下,我都成功地对装饰有 Authorized 属性的 Web api 控制器进行了身份验证,但无法调用 Graph API 服务。
我已经运行了一个 Web 调试代理并确保正确发送了授权标头。
我做了以下事情:
- 创建 Azure 原生应用
- 创建 Azure Web 应用
将本机应用程序的权限提供给 web api 应用程序
一个。在默认权限中添加了读取目录数据权限
在本机应用程序中输入重定向 URI - 与 Web API 之一相同的 URL
- 从 Azure AD 更新了 Web 应用清单。将 oauth2AllowImplicitFlow 设置为 true
提供 Web 应用程序的权限
Windows Azure 活动目录:
一个。应用程序权限 - 读取目录数据
湾。委派权限:以登录用户身份访问目录
C。委托权限:读取目录数据
d。委派权限:登录并阅读用户个人资料
微软图表:
一个。委派权限:让用户登录
湾。委派权限:以登录用户身份访问目录
C。委托权限:读取目录数据
d。委派权限:阅读所有用户的完整个人资料
e. 委派权限:登录并阅读用户个人资料
F。应用程序权限:读取目录数据
G。应用程序权限:阅读所有用户的完整资料
成功同意原生应用
- 成功同意 web api 应用程序