使用Azure CLI 2.x时,我无法在Azure AD门户中的公开API部分下找到“添加作用域”的方法。
我看到的是,如果在创建应用程序时传递--identifier-uri,则会自动设置APP ID URI和Scope:
`az ad app create --display-name "$appName" --identifier-uris "https://$tenantDomain/$appName" --reply-urls "$replyUrl" --oauth2-allow-implicit-flow true`
不是我期望的也不是我想要的
因此,我从create命令中删除了--identifier-urls,并手动添加了我想要的作用域。然后,我通过manifest看到了我在OAuth2 Permissions下寻找的内容,如下所示。我可以将它与一个新的guid一起放入manifest.json中,并以某种方式插入它吗?
哪个CLI命令支持定义作用域的显式支持?那么,添加客户端应用程序时,我需要选择定义的作用域,这是如何引用的?
文档非常稀疏,IMO。这个参考非常有帮助,但是这里没有提到添加作用域和客户端。https://learn.microsoft.com/en-us/cli/azure/ad?view=azure-cli-latest。对示例或文档的任何帮助都非常感谢。
4条答案
按热度按时间n8ghc7c11#
从2012年7月29日起,最新的Azure CLI命令“az ad app update”不再包含oauth2permissions。如果你尝试以上操作,你会很有希望找到这篇文章。这些权限在应用注册表上的新位置位于api.oauth2PermissionScopes,作为一个数组。
为了绕过这个问题,我使用了这篇文章中的几个项目的组合,并不得不获得创造性的Azure docs也仍然不正确。
如果你已经公开了一个现有的API,你必须禁用它才能修改作用域。如果你有一个新的应用注册,你可以直接应用这个,没有问题。希望这能帮助像我这样的人,因为应用注册方式的改变和清单的改变而导致自动化被破坏。如果你不知道应用注册的变化,我建议你复习一下。如果你已经走到这一步了,我想你已经复习过了。
ovfsdjhp2#
摘自本文Azure CLI: Create an Azure AD application for an API that exposes OAuth2 Permissions
可以使用
az ad app update
命令(请参阅文档)然后,可以使用可选参数
–set
设置应用程序的属性1.创建包含以下权限的
oauth2-permissions.json
:1.运行此脚本,它将创建应用程序,禁用现有作用域并添加新作用域:
cclgggtu3#
在上述线程的帮助下,经过大量的反复试验和pretty useful link,我能够使用CLI脚本在Windows环境中添加作用域。PowerShell对Windows上的“jq”不满意,必须删除反勾号才能使其正常工作。现在我需要解决使用CLI添加preAuthorizedApplication的问题。
5kgi1eie4#
正如A2AdminGuy提到的,不能再直接更新
oauth2Permissions
,但您仍然可以使用az ad app update
。1.执行命令
az ad app show --id $appClientId
,您将看到oauth2PermissionScopes
现在位于api
内部:1.您需要更新
api
属性才能设置oauth2PermissionScopes
:可以删除
--verbose
参数,但有趣的是,update命令是对图形API的PATH请求。由于这是一个PATH请求,您不需要总是发送整个
api
属性,您可以执行两个请求来更新不同的属性,而前一个请求不会受到影响。1.以下是更新SPA
redirectUris
的方法: