AzureAD应用程序如何撤销对自身的同意? (删除委托或应用程序权限)

时间:2017-01-20 18:22:48

标签: azure office365 azure-active-directory azure-ad-b2c

为了保持透明度,我希望为管理员和最终用户提供从其AD配置文件中删除我的应用程序的功能。

现在,Microsoft希望管理员使用AzureAD powershell命令Remove-MSOLServicePrincipal或转到Azure管理门户。或者最终用户可以访问应用程序门户。

由于用户可能有多个组织或许多应用程序授权,我想为我的应用程序子集提供一个简单的删除选项(同时通知用户MSFT门户存在)

如何在客户端凭据授权流程或授权代码授予流程中取消配置我的应用程序?

1 个答案:

答案 0 :(得分:1)

通过同意过程授予应用程序的权限范围作为OAuth2PermissionGrants存储在目录中。

如果您的应用程序有权修改这些对象,那么您将能够使用Graph API删除一个,这实际上将删除该应用程序的同意记录。

请注意,这些对象绑定到特定的clientId,该clientId表示租户中客户端应用程序的服务主体。这就是为什么我们要求您从租户中删除服务主体作为删除同意的快速方法,因为它也会删除所有绑定的OAuth2Permissions。

您也可以使用Graph API删除自己的服务主体(我过去已对此进行过测试)。根据上述详细信息,这也将删除您的申请所有的同意。

但是,据我所知,我们的Public Graph API范围本身不支持这些类型的权限。通过将我的应用程序添加到我的租户中的公司管理员角色,我获得了这种访问权限,这将提升它超出公共范围内可用的图表访问权限。但是,您必须使用PowerShell或其他方法来执行此操作,此时,也可以使用相同的工具来删除服务主体...

如果这有帮助,请告诉我!