Поделиться через


Включение параметров проверки подлинности в веб-приложении Python с помощью Azure AD B2C

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

В этой статье описывается, как включить, настроить и улучшить возможности проверки подлинности Azure Active Directory B2C (Azure AD B2C) для веб-приложения Python.

Прежде чем начать, важно ознакомиться с тем, как настроить проверку подлинности в примере веб-приложения Python с помощью Azure AD B2C.

Использование личного домена

Используя пользовательский домен, вы можете полностью оформить URL-адрес проверки подлинности в соответствии с вашим брендом. С точки зрения пользователя пользователи остаются в домене во время процесса проверки подлинности, а не перенаправляются в домен azure AD B2C b2clogin.com.

Чтобы удалить все ссылки на "b2c" в URL-адресе, вы также можете заменить имя клиента B2C, contoso.onmicrosoft.com, в URL-адресе запроса проверки подлинности идентификатором GUID вашего контрагента. Например, можно изменить https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ на https://account.contosobank.co.uk/<tenant ID GUID>/.

Чтобы использовать личный домен и идентификатор клиента в URL-адресе проверки подлинности, выполните следующие действия.

  1. Следуйте инструкциям в разделе "Включить личные домены".
  2. В файле app_config.py обновите член класса, authority_template указав свой личный домен.

В следующем коде Python показаны настройки приложения до изменения:

authority_template = "https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{user_flow}"

Следующий код Python показывает настройки приложения после изменения:

authority_template = "https://custom.domain.com/00000000-0000-0000-0000-000000000000/{user_flow}" 

Предварительное заполнение имени входа

Во время процесса входа пользователя ваше приложение может быть ориентировано на определенного пользователя. Когда приложение предназначено для пользователя, оно может указать в запросе авторизации параметр запроса login_hint с именем входа пользователя. Azure AD B2C автоматически заполняет имя входа, а пользователь должен указать только пароль.

Чтобы предварительно заполнить имя входа, сделайте следующее:

  1. Если вы используете специальную политику, добавьте обязательное утверждение ввода, как описано в разделе Настройка прямого входа.
  2. Найдите initiate_auth_code_flow метод, а затем добавьте параметр с доменным login_hint именем поставщика удостоверений (например, facebook.com).
def _build_auth_code_flow(authority=None, scopes=None):
    return _build_msal_app(authority=authority).initiate_auth_code_flow(
        scopes or [],
        redirect_uri=url_for("authorized", _external=True),
        login_hint="bob@contoso.com")

Предварительно выберите поставщика удостоверений

Если вы настроили процесс входа приложения, чтобы включить социальные учетные записи, такие как Facebook, LinkedIn или Google, вы можете указать domain_hint параметр. Этот параметр запроса содержит указание Azure AD B2C о социальном поставщике удостоверений, который следует использовать для входа в систему. Например, если приложение указывает domain_hint=facebook.com, поток входа переходит непосредственно на страницу входа в Facebook.

Чтобы перенаправить пользователей к внешнему поставщику удостоверений, сделайте следующее:

  1. Проверьте доменное имя внешнего поставщика удостоверений. Для получения дополнительных сведений см. Перенаправление входа к социальному провайдеру.

  2. Найдите initiate_auth_code_flow метод, а затем добавьте параметр с подсказкой domain_hint для входа.

    def _build_auth_code_flow(authority=None, scopes=None):
        return _build_msal_app(authority=authority).initiate_auth_code_flow(
            scopes or [],
            redirect_uri=url_for("authorized", _external=True),
            domain_hint="facebook.com")
    

Дальнейшие шаги