Приложение MS - Поддержка нескольких арендаторов без использования / общая конечная точка

Предыстория: я знаю, что могу поддерживать нескольких арендаторов, используя / общую конечную точку. Однако использование /common требует, чтобы приложение обрабатывало ответ id_token, где iss (значение эмитента) может изменяться для каждого пользователя.

Моя проблема в том, что я работаю со сторонним приложением, которое обрабатывает ответ OpenId из /common endpoint. И это стороннее приложение идет для сравнения значения iss в ответе с /common и, следовательно, считает ответ недействительным.

Я уже слишком много вложил в это приложение, и перейти к другому приложению действительно сложно. Также приложение не будет поддерживать поведение /common endpoint в ближайшее время. По сути, я не могу использовать / общую конечную точку.

Вопрос:

  1. Есть ли способ, отличный от /common endpoint, для поддержки нескольких арендаторов?

  2. Когда именно MS предложил / общий подход, и как люди поддерживали нескольких арендаторов до этого.

Спасибо,

~ Урджит

1 ответ

Смысл общей конечной точки состоит в том, чтобы позволить пользователю войти в систему через любого арендатора.

Вы можете самостоятельно из своего приложения перенаправить пользователя для входа в систему против любого арендатора, указав идентификатор клиента в URL-адресе вместо обычного.

Любое приложение, которое должно поддерживать сценарий N-tenant, должно проверять утверждение эмитента (поскольку вы не хотите иметь ни одного арендатора), но вам нужно убедиться, что эмитент является одним из разрешенных арендаторов. Это стороннее приложение должно иметь возможность сделать это. URI эмитента для любого арендатора https://sts.windows.net/tenant-id/,

Вы можете найти URI эмитента для арендаторов, которых вы хотите утвердить, перейдя в конфигурацию OpenId своего арендатора. Мой тестовый арендатор находится здесь: https://login.microsoftonline.com/joonasapps.onmicrosoft.com/.well-known/openid-configuration.

Найдите свойство "эмитента", например https://sts.windows.net/52a7d760-d554-4751-bb71-cc3585633f2e/,

Это значение, которое будет указано в требовании iss в токенах, выданных этим арендатором.

Другие вопросы по тегам