如何通过控制台在Azure AD应用程序中设置oauth2AllowIdTokenImplicitFlow?

时间:2019-06-25 15:06:45

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

是否可以通过Azure CLI或Azure PowerShell在azure AD应用程序中更改属性oauth2AllowIdTokenImplicitFlow?

5 个答案:

答案 0 :(得分:1)

如果只需要检查IdToken,则可能要使用属性 -Oauth2RequirePostResponse

更新cmd:

Connect-AzureAD
Set-AzureADApplication -ObjectId {yourAppId} -Oauth2RequirePostResponse $true

创建cmd:

New-AzureADApplication -DisplayName "MyApp" `
                       -HomePage "https:www.myapp.com" `
                       -LogoutUrl "https:www.myapp.com/signout-oidc" `
                       -ReplyUrls  "https:www.myapp.com/signin-oidc" `
                       -IdentifierUris "https://tenant.onmicrosoft.com/MyApp" `
                       -Oauth2AllowImplicitFlow $false `
                       -Oauth2RequirePostResponse $true                                              

答案 1 :(得分:0)

您可以使用AzureAD Powershell模块(https://www.powershellgallery.com/packages/AzureAD):

Connect-AzureAD
Set-AzureADApplication -ObjectId 82384e2a-aaaa-aaaa-aaaa-11488797ce1d -Oauth2AllowImplicitFlow $true

您需要应用注册的objectId。

答案 2 :(得分:0)

内置Powershell或CLI当前不支持设置oauth2AllowIdTokenImplicitFlow。另外,似乎该属性只能在AD App的清单中找到,我在任何文档(包括MS Graph或Azure AD Graph)中都找不到。

但是根据我的测试,您可以通过Azure AD Graph API设置oauth2AllowIdTokenImplicitFlow

您可以通过两种方式调用Azure AD Graph API,即使用Azure AD Graph Explorer或Powershell。

  • 使用Azure AD Graph资源管理器

使用Azure AD Graph Explorer,只需登录您的用户帐户(确保您具有更新应用程序的权限),然后按如下所示调用API。

PATCH https://graph.windows.net/myorganization/applications/{object id of the application}?api-version=1.6

{
    "oauth2AllowIdTokenImplicitFlow":true
}

注意:当您发送请求时,进度条似乎永远不会结束,我不确定这是否是错误,但实际上它会在一段时间后起作用,您只需要更改即可PATCHGET来检查应用程序的oauth2AllowIdTokenImplicitFlow

enter image description here

  • 使用PowerShell

如果要使用PowerShell,请按照以下步骤操作。

1。Create an Azure Active Directory application,然后依次是Create a new application secretGet values for signing in

2。导航至门户网站中的Azure Active Directory-> App registrations->查找并单击您的应用程序-> API permissions-> Add a permission->选择{{1 }}->单击Azure Active Directory Graph->选择Application permissions权限->单击Application.ReadWrite.All->单击 Add permissions

enter image description here

3。然后使用下面的powershell脚本,它对我而言效果很好(成功时将不返回任何内容),您可以在门户中检查结果或使用Azure AD Graph Explorer。

Grant admin consent for xxx

答案 3 :(得分:0)

您可以将 az ad app update --set 与 Azure CLI 结合使用来修改应用注册清单属性

这里有一个例子(我使用的是 Powershell 脚本格式): (这些命令是禁用 oauth2Permissions 属性,但它可以应用于清单中的大多数属性) 您必须先设置禁用“oauth2Permissions”才能修改其中的任何属性。

az ad app update --id $app_registration_id --set oauth2Permissions[0].isEnabled=false

然后你可以修改它(就我而言,我只想清除所有属性):

az ad app update --id $app_registration_id --set oauth2Permissions=[]

答案 4 :(得分:0)

这个命令对我有用:

az ad app update --id <appid> --set oauth2AllowIdTokenImplicitFlow=false

奇怪的是,它抱怨没有找到该属性,但它确实有效......