Mengaktifkan opsi autentikasi di aplikasi web Python menggunakan Azure AD B2C
Artikel ini menjelaskan cara mengaktifkan, menyesuaikan, dan meningkatkan pengalaman autentikasi Azure Active Directory B2C (Azure AD B2C) untuk aplikasi web Python Anda.
Sebelum Anda mulai, biasakan diri Anda dengan cara Mengonfigurasi autentikasi dalam contoh aplikasi web Python menggunakan Azure AD B2C.
Menggunakan domain kustom
Dengan menggunakan domain kustom, Anda dapat sepenuhnya menandai URL autentikasi. Dari perspektif pengguna, pengguna tetap berada di domain Anda selama proses autentikasi, bukan dialihkan ke nama domain b2clogin.com Azure Active Directory B2C.
Untuk menghapus semua referensi “b2c” pada URL, Anda dapat mengganti nama penyewa B2C Anda, contoso.onmicrosoft.com, pada URL permintaan autentikasi dengan pengidentifikasi unik ID penyewa Anda. Misalnya, Anda dapat mengubah https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/
menjadi https://account.contosobank.co.uk/<tenant ID GUID>/
.
Untuk menggunakan domain kustom dan ID penyewa Anda di URL autentikasi:
- Ikuti panduan di Mengaktifkan domain kustom.
- Dalam file app_config.py, perbarui anggota kelas
authority_template
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}"
Prepopulasi nama rincian masuk
Selama perjalanan pengguna masuk, aplikasi Anda mungkin menargetkan pengguna tertentu. Saat aplikasi menargetkan pengguna, aplikasi dapat menentukan permintaan otorisasi login_hint
parameter kueri dengan nama rincian masuk pengguna. Azure Active Directory B2C secara otomatis mengisi nama rincian masuk, dan pengguna hanya perlu memberikan kata sandi.
Untuk mengisi nama rincian masuk terlebih dahulu, lakukan hal berikut:
- Jika Anda menggunakan kebijakan kustom, tambahkan klaim input yang diperlukan seperti yang dijelaskan dalam Menyiapkan masuk langsung.
- Temukan
initiate_auth_code_flow
metodenya, lalu tambahkanlogin_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 sebelumnya penyedia identitas
Jika Anda mengonfigurasi perjalanan rincian masuk untuk aplikasi Anda untuk menyertakan akun sosial, seperti Facebook, LinkedIn, atau Google, Anda dapat menentukan parameter domain_hint
. Parameter kueri ini memberikan petunjuk untuk Azure AD B2C tentang IdP sosial yang harus digunakan untuk rincian masuk. Misalnya, jika aplikasi menentukan domain_hint=facebook.com
, alur masuk langsung menuju ke halaman masuk Facebook.
Untuk mengalihkan pengguna ke penyedia identitas eksternal, lakukan tindakan berikut:
Periksa nama domain penyedia identitas eksternal Anda. Untuk informasi selengkapnya, lihat Mengalihkan rincian masuk ke penyedia sosial.
Temukan
initiate_auth_code_flow
metodenya, lalu tambahkandomain_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 berikutnya
- Pelajari selengkapnya, lihat MSAL untuk opsi konfigurasi Python.