Azure AD B2C kullanarak Python web uygulamasında kimlik doğrulama seçeneklerini etkinleştirme

Bu makalede, Python web uygulamanız için Azure Active Directory B2C (Azure AD B2C) kimlik doğrulama deneyimini etkinleştirme, özelleştirme ve geliştirme işlemleri açıklanır.

Başlamadan önce, Azure AD B2C kullanarak örnek bir Python web uygulamasında kimlik doğrulamasını yapılandırma hakkında bilgi sahibi olmanız önemlidir.

Özel etki alanı kullanma

Özel bir etki alanı kullanarak kimlik doğrulama URL'sini tamamen markalayabilirsiniz. Kullanıcı açısından bakıldığında, kullanıcılar kimlik doğrulama işlemi sırasında Azure AD B2C b2clogin.com etki alanı adına yönlendirilmek yerine etki alanınızda kalır.

URL'deki "b2c" öğesine yapılan tüm başvuruları kaldırmak için, kimlik doğrulama isteği URL'sindeki B2C kiracı adınızı contoso.onmicrosoft.com kiracı kimliği GUID'nizle de değiştirebilirsiniz. Örneğin, olarak https://account.contosobank.co.uk/<tenant ID GUID>/değiştirebilirsinizhttps://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/.

Kimlik doğrulama URL'sinde özel bir etki alanı ve kiracı kimliğinizi kullanmak için:

  1. Özel etki alanlarını etkinleştirme başlığındaki yönergeleri izleyin.
  2. app_config.py dosyasında sınıf üyesini authority_template özel etki alanınızla güncelleştirin.

Aşağıdaki Python kodu, değişiklik öncesinde uygulama ayarlarını gösterir:

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

Aşağıdaki Python kodu, değişiklik sonrasında uygulama ayarlarını gösterir:

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

Oturum açma adını önceden doldurma

Oturum açma kullanıcı yolculuğu sırasında uygulamanız belirli bir kullanıcıyı hedef alabilir. Bir uygulama bir kullanıcıyı hedeflediğinde, yetkilendirme isteğinde login_hint kullanıcının oturum açma adıyla sorgu parametresini belirtebilir. Azure AD B2C oturum açma adını otomatik olarak doldurur ve kullanıcının yalnızca parolayı sağlaması gerekir.

Oturum açma adını önceden doldurması için aşağıdakileri yapın:

  1. Özel bir ilke kullanıyorsanız, doğrudan oturum açmayı ayarlama bölümünde açıklandığı gibi gerekli giriş beyanını ekleyin.
  2. initiate_auth_code_flow yöntemini bulun ve ardından parametresini login_hint kimlik sağlayıcısı etki alanı adıyla (örneğin, facebook.com) ekleyin.
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")

Kimlik sağlayıcısını önceden seçme

Uygulamanızın oturum açma yolculuğunu Facebook, LinkedIn veya Google gibi sosyal hesapları içerecek şekilde yapılandırdıysanız parametresini domain_hint belirtebilirsiniz. Bu sorgu parametresi, oturum açmak için kullanılması gereken sosyal kimlik sağlayıcısı hakkında B2C Azure AD bir ipucu sağlar. Örneğin, uygulama belirtirse domain_hint=facebook.comoturum açma akışı doğrudan Facebook oturum açma sayfasına gider.

Kullanıcıları bir dış kimlik sağlayıcısına yönlendirmek için aşağıdakileri yapın:

  1. Dış kimlik sağlayıcınızın etki alanı adını denetleyin. Daha fazla bilgi için bkz. Oturum açmayı sosyal hizmet sağlayıcısına yeniden yönlendirme.

  2. initiate_auth_code_flow yöntemini bulun ve ardından oturum açma ipucuyla parametresini ekleyindomain_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")
    

Sonraki adımlar