从应用程序的清单中删除AppRole会产生400错误请求,错误
除非先禁用属性值,否则无法删除属性值。
当我将isEnabled属性设置为false然后点击“保存”时,我会看到浏览器开发人员工具200 OK,这是一个成功的saven:
重新加载修改清单屏幕后,isEnabled
属性仍为true
,如果您在浏览器开发人员工具中查看PUT响应,则会以true
的形式返回那里也是。
如何在不删除和重新创建整个应用程序的情况下删除appRole?
我提出了以下bug。
答案 0 :(得分:3)
此错误现已修复。您要做的只是将Co
设置为 false 并保存。然后,您可以删除角色并再次保存。不需要解决方法。
答案 1 :(得分:2)
这似乎是新门户网站中的一个错误。在服务器端,保存操作不会将isEnabled
保存为false。任何反馈,您都可以发布到here。
目前,您可以使用Azure AD经典门户来修改清单中的应用程序角色(下载清单,然后上载已更改的清单)。删除经典门户中的应用程序角色在我的环境中正常工作如果有帮助,请告诉我。
答案 2 :(得分:2)
在此问题得到解决之前,有两种方法可以解决此问题:
使用Azure AD PowerShell,您可以禁用然后删除应用程序角色。这是一个可以实现此目的的示例脚本:
$appId = "83d7d56d-6e64-4791-b8e8-9a8da8dd957e"
$appRoleValue = "app-role-value" # i.e. the scope
Connect-AzureAD
# Disable the AppRole
$app = Get-AzureADApplication -Filter "appId eq '$appId'"
($app.AppRoles | Where-Object { $_.Value -eq $appRoleValue }).IsEnabled = $false
Set-AzureADApplication -ObjectId $app.ObjectId -AppRoles $app.AppRoles
# Remove the AppRole
$toRemove = $app.AppRoles | Where-Object { $_.Value -eq $appRoleValue }
$app.AppRoles.Remove($toRemove) | Out-Null
Set-AzureADApplication -ObjectId $app.ObjectId -AppRoles $app.AppRoles
另一种选择是使用Azure AD Graph Explorer并在Application对象上发出两个PATCH
请求。第一个PATCH
请求应将应用角色的isEnabled
属性设置为false
。然后,第二个PATCH
请求可以删除应用角色(即包括除已禁用的角色之外的所有现有应用角色)。
答案 3 :(得分:0)
要删除应用程序角色:
isEnabled
的值更改为false。答案 4 :(得分:0)
我有相同的错误消息Property value cannot be deleted unless it is disabled first.
,因为我已经在一个页面页面上创建了作用域,并试图在另一个页面的清单中手动添加它。我几乎不知道清单是自动更新的,我只需要重新加载它即可。
答案 5 :(得分:0)
您不能删除已启用的已分配角色,首先必须将标志isEnable设置为false,然后将要删除的角色的清单(例如-> "isEnabled": false
保存在清单,现在尝试删除整个appRoles部分。 (干杯)
这是一个两步过程,但是可行。