有什么方法可以创建或修改AzureAD应用以通过Azure CLI 2.0允许OAuth 2.0隐式流?
我可以使用az ad app create
创建没有问题的应用注册答案 0 :(得分:2)
看起来Azure CLI 2.0不会公开要设置的OAuth2AllowImplicitFlow
属性,但Azure Active Directory PowerShell 2.0确实公开了此属性:
-Oauth2AllowImplicitFlow
指定此Web应用程序是否可以隐式请求OAuth2.0 流动代币。默认值为false。
类型:布尔值
职位:命名
默认值:无
接受管道输入:False
接受通配符:False
如果有帮助,请告诉我。
答案 1 :(得分:-1)
您可以使用CLI调用Graph API来实现这一目标。此方法需要在您的AAD租户中创建service principal
,并为其分配Company Admin role
。
获取身份验证令牌
curl -X "POST" "https://login.microsoftonline.com/$TENANTID/oauth2/token" \
-H "Cookie: flight-uxoptin=true; stsservicecookie=ests; x-ms-gateway-slice=productionb; stsservicecookie=ests" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "client_id=$APPID" \
--data-urlencode "grant_type=client_credentials" \
--data-urlencode "client_secret=$PASSWORD" \
--data-urlencode "resource=https://graph.windows.net/"
将AAD应用程序设置为Oauth2AllowImplicitFlow为真:
curl -X "PATCH" "https://graph.windows.net/$TENANTID/applications/$ObjectId?api-version=1.6" \
-H "Authorization: Bearer $ACCESSTOKEN" \
-H "Content-Type: application/json" \
-d $'{"oauth2AllowImplicitFlow":true}'
几秒钟后,您的应用程序的Oauth2AllowImplicitFlow已设置为true。
另外,正如@Shawn所述,Azure CLI没有此cmdlet来设置AAD应用程序,但Azure Powershell具有此功能。但Azure CLI是Linux平台使用Azure的重要工具。我想我们可以在this Page中发布此功能反馈。 Azure团队将对其进行审核。
希望这有帮助!