Я пытаюсь получить пользователя Azure AD с идентификатором субъекта (sub
) в зарегистрированном приложении Azure AD. Я знаю приложение и sub
, но я не могу найти способ получить oid
или upn
для реального пользователя, используя эту информацию.
Копаться вокруг Я не могу найти что-либо при поиске на основе пользователя на sub
и идентификатор приложения в документах:
https://docs.microsoft.com/en-us/graph/api/resources/user?view=graph-rest-1.0
При чтении идентификатора токена предлагается использовать sub + tid + oid
для синхронизации через услуги. И, глядя на sub
, более конкретно сказано:
Принципал, о котором токен утверждает информацию, такую как пользователь приложения. Это значение является неизменным и не может быть переназначено или использовано повторно. Он может использоваться для безопасного выполнения проверок полномочий, например, когда токен используется для доступа к ресурсу, и может использоваться в качестве ключа в таблицах базы данных. Поскольку субъект всегда присутствует в токенах, которые выдает Azure AD, мы рекомендуем использовать это значение в системе авторизации общего назначения. Тем не менее, субъект является попарным идентификатором - он уникален для конкретного идентификатора приложения. Следовательно, если один пользователь входит в два разных приложения, используя два разных идентификатора клиента, эти приложения получат два разных значения для предметного утверждения.
Я тоже посмотрел вокруг SO и нашел только этот связанный ответ, но, кажется, go от OID до SUB:
Получение идентификатора субъекта токена пользователя (sub) изнутри Azure AD
Могу ли я запросить Graph API, используя идентификатор приложения и идентификатор субъекта, чтобы найти идентификатор объекта или upn?
Если это невозможно с помощью Graph API. Можно ли вообще отозвать, какой пользователь Azure AD имеет заданный идентификатор темы для приложения?