2017-02-03 8 views

ответ

3

Вам нужно будет запросить oauth2PermissionGrants. Чтобы получить их, вам нужно будет узнать идентификатор объекта главного оператора приложения в целевом каталоге. Это вы можете получить, если знаете идентификатор клиента приложения.

Например, если я запрашиваю https://graph.windows.net/<tenant id>/servicePrincipals/6e56b47c-4c6e-40f5-aa95-16a0b1cb44fc/oauth2PermissionGrants из API Azure AD Graph:

{ 
    "odata.metadata": "https://graph.windows.net/<tenant id>/$metadata#oauth2PermissionGrants", 
    "value": [ 
    { 
     "clientId": "6e56b47c-4c6e-40f5-aa95-16a0b1cb44fc", 
     "consentType": "AllPrincipals", 
     "expiryTime": "2017-12-19T09:25:32.3581755", 
     "objectId": "fLRWbm5M9UCqlRagsctE_M7PF6398j5LkfWqCoLpQBI", 
     "principalId": null, 
     "resourceId": "ad17cfce-f2fd-4b3e-91f5-aa0a82e94012", 
     "scope": "User.Read", 
     "startTime": "0001-01-01T00:00:00" 
    } 
    ] 
} 

Вы можете увидеть этот конкретный принципал услуга предоставляется объем User.Read на API Azure AD Graph для AllPrincipals, что означает согласие администратора. Если это было индивидуальное согласие пользователя, имя согласия будет Principal, при этом основной идентификатор пользователя должен быть указан идентификатором пользователя, который дал согласие.

Обратите внимание, что вы не можете знать, когда было дано согласие.