Bagikan melalui


Mengaktifkan opsi autentikasi di aplikasi web Python dengan menggunakan Azure AD B2C

Penting

Berlaku mulai 1 Mei 2025, Azure AD B2C tidak akan lagi tersedia untuk dibeli untuk pelanggan baru. Pelajari lebih lanjut di FAQ kami.

Artikel ini menjelaskan cara mengaktifkan, menyesuaikan, dan menyempurnakan pengalaman autentikasi Azure Active Directory B2C (Azure AD B2C) untuk aplikasi web Python Anda.

Sebelum memulai, penting untuk membiasakan diri dengan cara Mengonfigurasi autentikasi dalam contoh aplikasi web Python dengan menggunakan Azure AD B2C.

Menggunakan domain kustom

Dengan menggunakan domain kustom, Anda dapat sepenuhnya memberi merek URL autentikasi. Dari perspektif pengguna, pengguna tetap berada di domain Anda selama proses autentikasi, daripada dialihkan ke nama domain azure AD B2C b2clogin.com.

Untuk menghapus semua referensi ke "b2c" di URL, Anda juga dapat mengganti nama penyewa B2C, contoso.onmicrosoft.com, di URL permintaan autentikasi dengan GUID ID penyewa Anda. Misalnya, Anda dapat mengubah https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ ke https://account.contosobank.co.uk/<tenant ID GUID>/.

Untuk menggunakan domain kustom dan ID penyewa Anda di URL autentikasi:

  1. Ikuti panduan di Mengaktifkan domain kustom.
  2. Dalam file app_config.py , perbarui authority_template anggota kelas dengan domain kustom Anda.

Kode Python berikut menunjukkan pengaturan aplikasi sebelum perubahan:

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

Kode Python berikut menunjukkan pengaturan aplikasi setelah perubahan:

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

Mengisi nama masuk terlebih dahulu

Selama perjalanan pengguna masuk, aplikasi Anda mungkin menargetkan pengguna tertentu. Saat aplikasi menargetkan pengguna, aplikasi dapat menentukan parameter kueri dengan nama masuk pengguna dalam permintaan otorisasi login_hint. Azure AD B2C secara otomatis mengisi nama masuk, dan pengguna hanya perlu menyediakan kata sandi.

Untuk mengisi nama masuk terlebih dahulu, lakukan hal berikut:

  1. Jika Anda menggunakan kebijakan kustom, tambahkan klaim input yang diperlukan seperti yang dijelaskan dalam Menyiapkan login langsung.
  2. Temukan initiate_auth_code_flow metode, lalu tambahkan login_hint parameter dengan nama domain penyedia identitas (misalnya, 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")

Memilih penyedia identitas terlebih dahulu

Jika anda mengonfigurasi perjalanan masuk untuk aplikasi anda untuk menyertakan akun sosial, seperti Facebook, LinkedIn, atau Google, Anda dapat menentukan parameter.domain_hint Parameter kueri ini memberikan petunjuk kepada Azure AD B2C tentang IdP sosial yang harus digunakan untuk masuk. Misalnya, jika aplikasi menentukan domain_hint=facebook.com, alur masuk langsung masuk ke halaman masuk Facebook.

Untuk mengalihkan pengguna ke penyedia identitas eksternal, lakukan hal berikut:

  1. Periksa nama domain penyedia identitas eksternal Anda. Untuk informasi selengkapnya, lihat Mengalihkan pendaftaran masuk ke penyedia sosial.

  2. Temukan initiate_auth_code_flow metodenya, lalu tambahkan domain_hint parameter dengan petunjuk login.

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

Langkah selanjutnya