Azure active directory Azure AD/Microsoft Graph访问级别升级和降级

Azure active directory Azure AD/Microsoft Graph访问级别升级和降级,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,有没有办法升级和降级Azure AD/Microsoft Graph访问级别 例如,用户注册web应用程序后是否只能登录并升级到一个驱动器或降级回登录?我正在寻找一种方法来取消对用户访问的授权,然后使用不同的权限集重新授权,但找不到取消授权的方法。如果使用V2端点,您可以获得增量同意:。 在那里,您可以指定重定向用户登录时需要的作用域 因此,您可以在一开始就需要基本功能,然后如果他们想要启用其他功能/您发布需要额外权限的更新,您可以非常轻松地添加这些功能 至于另一个方向,没有。 一旦用户同意某些

有没有办法升级和降级Azure AD/Microsoft Graph访问级别

例如,用户注册web应用程序后是否只能登录并升级到一个驱动器或降级回登录?我正在寻找一种方法来取消对用户访问的授权,然后使用不同的权限集重新授权,但找不到取消授权的方法。

如果使用V2端点,您可以获得增量同意:。 在那里,您可以指定重定向用户登录时需要的作用域

因此,您可以在一开始就需要基本功能,然后如果他们想要启用其他功能/您发布需要额外权限的更新,您可以非常轻松地添加这些功能

至于另一个方向,没有。 一旦用户同意某些权限,撤消该同意的唯一方法就是删除将用户映射到应用程序服务主体的
oauth2PermissionGrant
对象。 对于应用程序权限,需要从服务主体中删除
批准

所以这是可能的,但您必须自己调用Microsoft Graph API

您可以通过:
https://graph.microsoft.com/beta/oauth2PermissionGrants
并返回如下授予对象:

{
    "clientId": "e846195b-9b20-4001-ad84-5ab5de5531e6",
    "consentType": "AllPrincipals",
    "expiryTime": "2018-05-04T09:39:32.9697945Z",
    "id": "WxlG6CCbAUCthFq13lUx5s7PF6398j5LkfWqCoLpQBI",
    "principalId": null,
    "resourceId": "ad17cfce-f2fd-4b3e-91f5-aa0a82e94012",
    "scope": "User.Read Directory.AccessAsUser.All",
    "startTime": "0001-01-01T00:00:00Z"
}
这实际上是管理员同意的结果(ApproveType=AllPrincipals,principalId=null)。 对于常规用户同意,principalId将是用户的id。
clientId
是被授予访问权限的服务主体的id,
resourceId
是目标服务主体

您还可以将结果筛选到特定用户,例如:
https://graph.microsoft.com/beta/oauth2PermissionGrants?$filter=principalId eq'73c38a25-23eb-44eb-bf63-4aa987b2ef19'

然后,您可以通过将补丁运行到
https://graph.microsoft.com/beta/oauth2PermissionGrants/WxlG6CCbAUCthFq13lUx5s7PF6398j5LkfWqCoLpQBI
具有如下主体:

{
    "scope": "User.Read"
}
您可以通过在同一URL上运行删除来完全删除授权。

如果您使用V2端点,则可以获得增量同意:。 在那里,您可以指定重定向用户登录时需要的作用域

因此,您可以在一开始就需要基本功能,然后如果他们想要启用其他功能/您发布需要额外权限的更新,您可以非常轻松地添加这些功能

至于另一个方向,没有。 一旦用户同意某些权限,撤消该同意的唯一方法就是删除将用户映射到应用程序服务主体的
oauth2PermissionGrant
对象。 对于应用程序权限,需要从服务主体中删除
批准

所以这是可能的,但您必须自己调用Microsoft Graph API

您可以通过:
https://graph.microsoft.com/beta/oauth2PermissionGrants
并返回如下授予对象:

{
    "clientId": "e846195b-9b20-4001-ad84-5ab5de5531e6",
    "consentType": "AllPrincipals",
    "expiryTime": "2018-05-04T09:39:32.9697945Z",
    "id": "WxlG6CCbAUCthFq13lUx5s7PF6398j5LkfWqCoLpQBI",
    "principalId": null,
    "resourceId": "ad17cfce-f2fd-4b3e-91f5-aa0a82e94012",
    "scope": "User.Read Directory.AccessAsUser.All",
    "startTime": "0001-01-01T00:00:00Z"
}
这实际上是管理员同意的结果(ApproveType=AllPrincipals,principalId=null)。 对于常规用户同意,principalId将是用户的id。
clientId
是被授予访问权限的服务主体的id,
resourceId
是目标服务主体

您还可以将结果筛选到特定用户,例如:
https://graph.microsoft.com/beta/oauth2PermissionGrants?$filter=principalId eq'73c38a25-23eb-44eb-bf63-4aa987b2ef19'

然后,您可以通过将补丁运行到
https://graph.microsoft.com/beta/oauth2PermissionGrants/WxlG6CCbAUCthFq13lUx5s7PF6398j5LkfWqCoLpQBI
具有如下主体:

{
    "scope": "User.Read"
}
您可以通过在同一URL上运行删除来完全删除授权