Я выполнил следующие действия, пытаясь создать приложение Azure, которое позволяет входить нескольким клиентам Azure AD:
Создать новую службу приложений и включить аутентификацию
1) На портале Azure: я создал совершенно новую пустую службу приложений Azure и набрал ее URL в своем браузере, чтобы убедиться, что она работает правильно.
2) Я перешел к моей новой службе приложений, а затем к колонке «Аутентификация / авторизация».
3) Я включил переключатель «Аутентификация службы приложений».
4) Я выбрал «Вход в Azure Active Directory» из выпадающего списка «Действие, которое необходимо выполнить, когда запрос не прошел проверку подлинности».
5) В разделе «Поставщики проверки подлинности» на том же блейде я щелкнул «Azure Active Directory», после чего я перешел к блейду «Параметры Azure Active Directory».
6) В этом блейде я выбрал «Экспресс» на переключателе «Режим управления». Выбор Active Directory был серым, но я хотел его использовать - текущий.
Создание нового приложения Azure AD, связанного с моей службой приложений
7) Я щелкнул «Приложение Azure AD», и мне предложили создать приложение Azure AD, которое по умолчанию имело то же имя, что и имя моей службы приложений, поэтому я сохранил его.
8) Все еще находясь на блейде «Параметры Azure Active Directory», я нажал кнопку «Управление приложением» под заголовком «Управление приложением Azure Active Directory». Я переместился еще на один блейд, где заголовком было имя только что созданного приложения Azure AD.
9) Оказавшись здесь, я нажал кнопку «Настройки», затем «Свойства» в колонке настроек.
10) В «Свойствах» я установил переключатель «Многопользовательский» на «Да».
11) Также в «Свойствах»: как это требуется для работы мультитенанта: я также изменил «URI идентификатора приложения» на нечто уникальное, а также с проверенного URL-адреса в моей организации. В моем случае я использовал:
https://<<MyTenantName>.onmicrosoft.com/login-ProofOfConcept
Проверка функциональности безопасности
12) Когда все было настроено, я сначала попытался войти в свое новое приложение с пользователем, который существовал в моем текущем Арендаторе B2C. Я набрал URL-адрес для службы приложений, microsoftonline попросил меня выполнить аутентификацию, я аутентифицировался, и я без проблем попал в свое приложение.
Вот проблема
13) Затем я вышел из системы и попытался снова войти в систему - но на этот раз как пользователь, который находится в другой Azure AD, которую я запускаю под своей личной учетной записью Gmail. Я ожидал, что это «просто сработает», но после того как я прошел аутентификацию как этот другой пользователь, эта ошибка была отображена на экране:
AADSTS50020: Учетная запись пользователя «MyUserName@gmail.com» от провайдера идентификации «live.com» не существует в арендаторе «[MyTenantName]» и не может получить доступ к приложению «[MyApplicationGUID]» ([ AzureADApplicationName]) в этом клиенте. Сначала необходимо добавить учетную запись в качестве внешнего пользователя в клиенте. Выйдите из системы и войдите снова, используя другую учетную запись пользователя Azure Active Directory.
Это именно то поведение, которого я надеялся избежать, включив 1059 * Мультитенант. Я надеялся, что он просто войдет в систему для этого пользователя, который является членом существующего Azure AD. Есть ли шаг конфигурации, который я пропустил?