对于在门户网站中注册的v1应用程序,您可以代表租户中的所有用户“授予权限”以同意应用程序的委派权限。对于在v2端点中注册的应用程序,只能在“企业应用程序”选项卡中看到它,而在“权限”选项卡中没有“授权权限”选项。如何达到我不想分别同意每个用户的目标?
编辑:进行adminconsent调用后,此方法有效(仅具有图形作用域)
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=myappid&response_type=code&response_mode=query&scope=openid profile email offline_access https%3A%2F%2Fgraph.microsoft.com%2FCalendars.ReadWrite%20https%3A%2F%2Fgraph.microsoft.com%2FContacts.ReadWrite%20https%3A%2F%2Fgraph.microsoft.com%2FMail.ReadWrite%20https%3A%2F%2Fgraph.microsoft.com%2FUser.Read&state=12345&redirect_uri=redirecturl
这仍然给我一个AADSTS90094错误,并征得管理员的同意,(具有OpenID范围)
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=myappid&response_type=code&response_mode=query&scope=openid profile email offline_access https%3A%2F%2Fgraph.microsoft.com%2FCalendars.ReadWrite%20https%3A%2F%2Fgraph.microsoft.com%2FContacts.ReadWrite%20https%3A%2F%2Fgraph.microsoft.com%2FMail.ReadWrite%20https%3A%2F%2Fgraph.microsoft.com%2FUser.Read&state=12345&redirect_uri=redirecturl
编辑:
仅当我打开“需要用户分配”标志时,才会发生此问题
在azure门户中,如果禁用了该标志,则用户将可以单独同意并登录,没有问题,但是我们需要此标志,因为我们不希望AD中的所有用户都可以使用该应用程序。
企业应用程序选项卡中的列表都是服务主体,而不是应用程序注册。这些是您的租户已登录并同意的应用程序,从而将服务主体设置到租户中。
v2应用程序是通过“应用程序注册门户”创建和管理的;但是,目前没有与之等效的功能Grant Permissions
。为了在v2中执行管理员同意,您必须构造对Azure AD的请求。
只需转到您的浏览器并删除以下请求(填充已注册的应用程序客户端/应用程序ID和重定向URI:
https://login.microsoftonline.com/{tenant}/adminconsent?client_id=<Client/App ID>&redirect_uri=<App's Redirect URI>&state=111
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句