【发布时间】:2017-02-27 07:54:54
【问题描述】:
我从这里下载了 Azure 示例以“使用 v2.0 端点构建多租户守护程序”: https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2
我在apps.dev.microsoft.com注册了应用,将Application Permission范围设置为User.Read.All,并在代码中的Startup.Auth.cs中替换了Application ID和生成的密码secret。
示例代码运行良好,只是管理员同意授予似乎不起作用。
AccountController.RequestPermissions() 中的代码成功构建并发送管理员同意请求。同意页面显示正确的范围:“阅读所有用户的完整个人资料”。提供同意后,我被重定向到https://localhost:44316/Account/GrantPermissions?admin_consent=True&tenant=my-tenant-id,表明授权成功。之后,我还在 Azure 门户上的企业应用程序中看到了该应用程序。
但是,在UsersController.Index 中调用https://graph.microsoft.com/v1.0/users 仍会导致“403 禁止”。 Fiddler 中的错误详情显示:
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation."
该请求中的 JWT Bearer 令牌包含我正确的租户 ID 和一个角色:“User.Read.All”。
我的账号是这个租户的全局管理员,可以在graph.microsoft.io上查询用户。
This response 日期为 6 月 30 日,表明尚无法将 admin_consent 与 App Model v2 一起使用。然而,我下载的示例可以追溯到 9 月下旬,并且准确地显示了这种情况,所以我希望它同时得到支持。
App Model v2 是否已支持 admin_consent?如果是这样,任何人都可以帮我找出问题所在吗?谢谢。
【问题讨论】:
标签: azure-active-directory msal