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