Azure AD B2C, интегрирующийся с корпоративными (Azure?) Учетными записями AD
Мы хотели бы использовать Azure AD B2C для наших веб-приложений, чтобы пользователи могли входить либо с "локальной" учетной записью / паролем, либо использовать свои социальные учетные записи (Facebook и т. Д.). https://docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-overview
Однако в этом приложении мы, вероятно, нацелены на организации, поэтому мы также хотели бы интегрироваться с существующими корпоративными учетными записями Azure AD компании. Таким образом, пользователь не должен создавать новую учетную запись и может использовать свою существующую корпоративную учетную запись.
Оказывается, в Azure AD B2C есть (новая) функция, которая позволяет вам явно ссылаться на внешнюю учетную запись Azure AD с помощью настраиваемой политики, как описано здесь: https://docs.microsoft.com/azure/active- каталог-b2c / активный каталог b2c-настройка-AAD-заказ
К сожалению, это работает только в том случае, если мы заранее знаем, с какими внешними компаниями нам нужно связаться и добавить их в конкретную конфигурацию. Также происходит утечка информации о том, кто использует приложение, поскольку названия компаний отображаются в списке параметров на странице входа.
Я также рассмотрел функции Azure AD B2B, но не думаю, что это тоже подходит.
Нам действительно хотелось бы, чтобы Azure AD B2C предлагал общий вход в (корпоративную) учетную запись Microsoft ", который определяет, обрабатывается ли этот адрес электронной почты в каких-либо системах Azure AD; если это так, то он делегирует проверку подлинности этой системе, но если нет, он будет использовать локальную учетную запись Azure AD B2C.
Этот общий логин уже работает для доступа к стандартным приложениям Microsoft, таким как их порталы. Кто-нибудь знает, возможно ли это в Azure AD B2C, или у вас есть потенциальная шкала времени, когда это станет возможным? Существуют ли альтернативные системы, которые могут предложить аналогичную функциональность?
2 ответа
Вы имеете в виду, что Azure AD в мультитенантном режиме добавлен в качестве поставщика удостоверений в Azure AD B2C.
От: многопользовательская аутентификация Azure AD в Azure AD B2C с пользовательскими политиками
Чтобы поддерживать мультитенантную Azure AD, вам нужно настроить свой ClaimsProvider в настраиваемой политике с различными значениями.
Используйте значения ниже, убедившись, что вы заменили на client_id и IdTokenAudience.
<Item Key="DiscoverMetadataByTokenIssuer">true</Item>
<Item Key="ValidTokenIssuerPrefixes">https://sts.windows.net/</Item>
<Item Key="authorization_endpoint">https://login.microsoftonline.com/common/oauth2/authorize</Item>
<Item Key="client_id">df5b2515-a8d2-4d91-ab4f-eac6e1e416c2</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
<Item Key="scope">openid</Item>
<Item Key="UsePolicyInRedirectUri">false</Item>
<Item Key="HttpBinding">POST</Item>
<Item Key="response_types">id_token</Item>
<Item Key="IdTokenAudience">df5b2515-a8d2-4d91-ab4f-eac6e1e416c2</Item>
ПРЕДУПРЕЖДЕНИЕ. Эта функция официально еще не представлена даже в режиме предварительного просмотра, поэтому используйте ее с осторожностью. Следите за официальной документацией "Вход с использованием учетных записей Azure AD", чтобы увидеть, когда это будет полностью задокументировано и поддерживается.
РЕДАКТИРОВАТЬ: убедитесь, что вы переверните Multi-tenanted
включите настройки приложения, в противном случае вы получите следующую ошибку:
AADSTS70001: Приложение с идентификатором '(guid)' не найдено в каталоге (основной домен нашей компании)
Azure AD B2C официально не поддерживает мультитенантного поставщика удостоверений Azure AD. Вы должны проголосовать за эту функцию здесь, чтобы она могла помочь расставить приоритеты и чтобы с вами можно было связаться, когда эта функция находится в режиме предварительного просмотра.
Существует потенциальный обходной путь, если у вас есть ограниченный набор клиентов Azure AD, с которыми вы работаете. Вы можете создать страницу в своем приложении, где пользователь вводит адрес электронной почты. Исходя из адреса электронной почты, вы можете использовать параметр domain_hint при вызове Azure AD B2C, чтобы перенаправить их прямо на нужную страницу входа.