Udostępnij za pośrednictwem


Włączanie opcji uwierzytelniania w aplikacji internetowej w języku Python przy użyciu Azure AD B2C

W tym artykule opisano sposób włączania, dostosowywania i ulepszania środowiska uwierzytelniania usługi Azure Active Directory B2C (Azure AD B2C) dla aplikacji internetowej języka Python.

Przed rozpoczęciem należy zapoznać się z instrukcjami konfigurowania uwierzytelniania w przykładowej aplikacji internetowej języka Python przy użyciu usługi Azure AD B2C.

Korzystanie z domeny niestandardowej

Za pomocą domeny niestandardowej można w pełni oznaczyć adres URL uwierzytelniania. Z perspektywy użytkownika użytkownicy pozostają w domenie podczas procesu uwierzytelniania, a nie przekierowywani do Azure AD B2C b2clogin.com nazwy domeny.

Aby usunąć wszystkie odwołania do "b2c" w adresie URL, możesz również zastąpić nazwę dzierżawy B2C, contoso.onmicrosoft.com, w adresie URL żądania uwierzytelniania identyfikatorem GUID identyfikatora dzierżawy. Na przykład możesz zmienić wartość https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ na https://account.contosobank.co.uk/<tenant ID GUID>/.

Aby użyć domeny niestandardowej i identyfikatora dzierżawy w adresie URL uwierzytelniania:

  1. Postępuj zgodnie ze wskazówkami w temacie Włączanie domen niestandardowych.
  2. W pliku app_config.py zaktualizuj authority_template element członkowski klasy przy użyciu domeny niestandardowej.

Poniższy kod języka Python przedstawia ustawienia aplikacji przed zmianą:

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

Poniższy kod języka Python przedstawia ustawienia aplikacji po zmianie:

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

Wstępnie wypełnij nazwę logowania

Podczas podróży użytkownika logowania aplikacja może być skierowana do określonego użytkownika. Gdy aplikacja jest przeznaczona dla użytkownika, może określić w żądaniu login_hint autoryzacji parametr zapytania z nazwą logowania użytkownika. Azure AD B2C automatycznie wypełnia nazwę logowania, a użytkownik musi podać tylko hasło.

Aby wstępnie wypełniać nazwę logowania, wykonaj następujące czynności:

  1. Jeśli używasz zasad niestandardowych, dodaj wymagane oświadczenie wejściowe zgodnie z opisem w temacie Konfigurowanie logowania bezpośredniego.
  2. Znajdź metodę initiate_auth_code_flow , a następnie dodaj login_hint parametr z nazwą domeny dostawcy tożsamości (na przykład 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")

Wstępne wybieranie dostawcy tożsamości

Jeśli skonfigurowano podróż logowania do aplikacji w celu uwzględnienia kont społecznościowych, takich jak Facebook, LinkedIn lub Google, można określić domain_hint parametr . Ten parametr zapytania zawiera wskazówkę dotyczącą Azure AD B2C o dostawcy tożsamości społecznościowych, który powinien być używany do logowania. Jeśli na przykład aplikacja określa domain_hint=facebook.com, przepływ logowania przechodzi bezpośrednio do strony logowania na Facebooku.

Aby przekierować użytkowników do zewnętrznego dostawcy tożsamości, wykonaj następujące czynności:

  1. Sprawdź nazwę domeny zewnętrznego dostawcy tożsamości. Aby uzyskać więcej informacji, zobacz Przekierowywanie logowania do dostawcy społecznościowego.

  2. Znajdź metodę initiate_auth_code_flow , a następnie dodaj domain_hint parametr z wskazówką logowania.

    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")
    

Następne kroki