今天,作为Azure Active Directory应用程序的管理员授予OAuth同意的唯一方法是通过Azure门户。有没有办法通过PowerShell以编程方式执行此操作?如果没有,是否有计划在未来添加此支持?
答案 0 :(得分:0)
您似乎想要为Azure广告应用授予管理员同意。
很容易为管理员提供管理员同意,我们只需要添加值为prompt
的其他参数admin_consent
参数。例如,下面是一个请求,请给予管理员同意:
https://login.microsoftonline.com/{tenant}/oauth2/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&resource=https%3A%2F%2Fservice.contoso.com%2F
&state=12345
&prompt=admin_consent
您只需访问此网址即可获得该应用的管理员同意(6731de76-14a6-49ae-97bc-6eba6914391e
)。如果您想通过PowerShell实现它,我们只需要通过PowerShell导航这个URL。例如,我们可以使用Start-Process
命令 - 如下所示:
Start-Process -FilePath "https://login.microsoftonline.com/{tenant}/oauth2/authorize?client_id=6731de76-14a6-49ae-97bc-6eba6914391e&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&response_mode=query&resource=https%3A%2F%2Fservice.contoso.com%2F&state=12345&prompt=admin_consent"
有关OAuth协议中参数的更多详细信息,请参阅以下链接:
Authorize access to web applications using OAuth 2.0 and Azure Active Directory
对于Azure AD V2.0端点授予管理员同意权不同,您可以参考以下链接,获取有关Azure AD V2.0端点的管理员同意。
答案 1 :(得分:0)
这应该有效:
az ad app permission admin-consent --id $appId