我可以通过以下方式授予 API 权限:
OAuth2PermissionGrant ret = graphClient.oauth2PermissionGrants()
.buildRequest()
.post(oAuth2PermissionGrant);
AppRoleAssignment ret = graphClient.servicePrincipals(principalId)
.appRoleAssignments()
.buildRequest()
.post(appRoleAssignment);
但是我怎样才能撤销许可呢?我正在使用 Java,如果这很重要的话。
删除委派的权限授予后,可以撤销已授予的访问权限。已在使用的访问令牌将在其生命周期内继续有效,但新的访问令牌将不会被授予权限。即;不会生成新的访问令牌..
GraphServiceClient graphClient = GraphServiceClient.builder()
.authenticationProvider( authProvider )
.buildClient();
graphClient.oauth2PermissionGrants("l5eW7x0ga0-WDOntXzHateQDNpSH5-lPk9HjD3Sarjk")
.buildRequest()
.delete();
请检查删除oAuth2PermissionGrant(委派权限授予)- Microsoft Graph v1.0 | Microsoft Docs 了解详细信息。
同样可以使用以下代码删除应用程序角色:
graphClient.users("{id}").appRoleAssignments("{id}")
.buildRequest()
.delete();
请检查删除appRoleAssignment - Microsoft Graph v1.0 |微软文档
但是
it is recommended
使用 Delete appRoleAssignedTo 方法删除应用程序角色分配。
graphClient.servicePrincipals("{resource-SP-id}").appRoleAssignedTo("{appRoleAssignment-id}")
.buildRequest()
.delete();
参考资料: 创建 oAuth2PermissionGrant(委派权限授予)- Microsoft Graph v1.0 |微软文档