Azure CLI使用AllowImplicit创建AD应用程序

时间:2018-03-20 21:39:47

标签: azure azure-active-directory azure-cli

有什么方法可以创建或修改AzureAD应用以通过Azure CLI 2.0允许OAuth 2.0隐式流?

我可以使用az ad app create

创建没有问题的应用注册

2 个答案:

答案 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团队将对其进行审核。

希望这有帮助!