#azure #azure-active-directory #azure-ad-b2c #azure-ad-b2c-custom-policy
Вопрос:
Приложение-1 будет иметь вход пользователя/регистрацию с помощью социальных учетных записей (Azure AD B2C), приложение-2 будет доступно только авторизованным пользователям в приложении-1
Каждое приложение находится в отдельном рекламном клиенте
Ответ №1:
Для единого входа оба приложения должны быть защищены от одного и того же экземпляра/клиента Azure AD B2C. Вам не нужно ничего настраивать, чтобы получить единый вход между приложениями, это поведение по умолчанию.
Если вы хотите использовать двух разных арендаторов, и пользователь всегда будет входить в приложение 1 или приложение 2 перед переходом в другое приложение, вы можете использовать id_token_hint для создания волшебной ссылки из приложения 1 для доступа к приложению 2, защищенному другим арендатором. Концепция подробно изложена здесь: https://github.com/azure-ad-b2c/samples/tree/master/policies/invite
Комментарии:
1. спасибо @Jas Suri — MSFT, меня интересуют два разных сценария арендаторов с бесшовным SSO (это означает, что после входа в 1 приложение не нужно вводить учетные данные в приложении 2 или настраивать учетную запись). Ссылка, которую вы предоставили, по-видимому, предполагает, что пользователь должен быть приглашен и настроить учетную запись в приложении 2. Это, кажется, самое близкое, что я могу найти, но сталкиваюсь с проблемами, чтобы заставить его работать в Angular: docs.microsoft.com/en-us/azure/active-directory-b2c/…
2. После того, как пользователь входит в приложение 1 и нажимает ссылку на приложение 2, приложение 1 вызывает API для создания id_token_hint. Затем приложение 1 делает запрос на
app2.com?hint=id_token_hint_value
. Приложение 2 отправляет пользователя в B2C, который обрабатывает id_token_hint и регистрирует пользователя в этом клиенте и приложении, не запрашивая учетные данные (SSO). Пример демонстрирует пример использования, но концепция может быть использована любым способом.