Azure AD ID арендатора - PullRequest
       41

Azure AD ID арендатора

1 голос
/ 10 июля 2019

Сводка : Как динамически получить идентификатор арендатора для пользователей Microsoft?

Детали : Я пишу мультитенантное приложение (C # и .NET Core), с помощью которого хочу создавать подписки и регистрироваться для уведомлений об изменениях . Я использую Microsoft Graph API v1.0 для этой операции.

Я следовал этой документации, чтобы получить токен доступа для учетной записи службы. После регистрации приложения и создания необходимых разрешений (например, User.Read, Mail.ReadWrite) нам нужно дать на это согласие администратора

Чтобы сделать это программно,

  1. Отправить запрос GET по адресу: https://login.microsoftonline.com/common/adminconsent?client_id={anyClientId}&state=12345&redirect_uri={redirectUrl}

  2. Это приведет пользователя к экрану согласия с запросом запрошенных разрешений.

  3. После предоставления пользователь будет перенаправлен на «redirectUrl» с шага 1, а tenantId и admin_consent будут присутствовать в параметрах запроса, например, https://example.com/auth?admin_consent=true&tenant={corresponding_tenant_id}

Этот tenantId может затем использоваться для получения аутентифицированного GraphClient для приложений C # MVC. MSGraph SDK для .NET Reference

Вопрос

Есть ли другой способ снова получить этот tenantId для будущего использования? Я бы предпочел, чтобы поток согласия администратора можно было избегать каждый раз, когда делается запрос (кроме входа в систему).

Пример варианта использования, в котором снова требуется идентификатор арендатора:

  • Создание GraphClient для извлечения определенного сообщения при получении уведомлений об изменениях в почтовом ящике.

1 Ответ

0 голосов
/ 10 июля 2019
  1. В большинстве случаев вы можете использовать имя арендатора для замены идентификатора арендатора. И вы можете получить имя арендатора с адреса электронной почты.

  2. На основании вашего описания ваше приложение будет управлять почтовым ящиком пользователя от имени пользователя. В этом случае ваше приложение будет иметь токен доступа для пользователя. Затем вы можете получить идентификатор арендатора, отправив запрос GET на https://management.azure.com/tenants?api-version=2016-06-01 с токеном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...