Mulai cepat: Memasukkan pengguna dan memanggil Microsoft Graph dari aplikasi web Python Flask
Dalam mulai cepat ini, Anda mengunduh dan menjalankan sampel aplikasi web Python Flask yang menunjukkan cara mengautentikasi pengguna dan memanggil Microsoft Graph API. Pengguna di organisasi Microsoft Entra Anda dapat masuk ke aplikasi.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Penyewa Microsoft Entra. Untuk informasi selengkapnya, lihat cara mendapatkan penyewa Microsoft Entra.
- Python 3 +
Langkah 1: Daftarkan aplikasi Anda
Tip
Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.
Ikuti langkah-langkah ini untuk mendaftarkan aplikasi Anda di pusat admin Microsoft Entra:
- Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
- Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa tempat Anda ingin mendaftarkan aplikasi dari menu Direktori + langganan.
- Telusuri Aplikasi >Identitas>Pendaftaran aplikasi dan pilih Pendaftaran baru.
- Masukkan Nama untuk aplikasi Anda, misalnya python-webapp.
- Di bawah Jenis akun yang didukung, pilih Hanya akun dalam direktori organisasi ini.
- Di bawah URI Pengalihan, pilih Web untuk platform.
- Masukkan URI pengalihan .
http://localhost:5000/getAToken
Anda dapat mengubah nilai ini nanti. - Pilih Daftarkan.
Langkah 2: Menambahkan rahasia klien
Aplikasi sampel menggunakan rahasia klien untuk membuktikan identitasnya saat meminta token. Ikuti langkah-langkah ini untuk membuat rahasia klien untuk aplikasi web Python Anda:
- Di halaman Gambaran Umum aplikasi, catat nilai ID Aplikasi (klien) untuk digunakan nanti.
- Pada bagian Kelola, pilih Sertifikat & rahasia dan dari bagian Rahasia klien, pilih Rahasia klien baru.
- Masukkan deskripsi untuk rahasia klien, biarkan kedaluwarsa default, dan pilih Tambahkan.
- Simpan NilaiRahasia Klien di lokasi yang aman. Anda memerlukan nilai ini mengonfigurasi kode, dan Anda tidak dapat mengambilnya nanti.
Saat membuat kredensial untuk aplikasi klien rahasia, Microsoft menyarankan agar Anda menggunakan sertifikat alih-alih rahasia klien sebelum memindahkan aplikasi ke lingkungan produksi. Untuk informasi selengkapnya tentang cara menggunakan sertifikat, lihat instruksi ini.
Langkah 3: Menambahkan cakupan
Karena aplikasi ini memasukkan pengguna, Anda perlu menambahkan izin yang didelegasikan:
- Di bagian Kelola, pilih Izin API>Tambahkan izin.
- Pastikan bahwa tab API Microsoft dipilih.
- Dari bagian API Microsoft yang umum digunakan, pilih Microsoft Graph.
- Dari bagian Izin yang didelegasikan, pastikan User.Read dipilih. Gunakan kotak pencarian jika perlu.
- Pilih Tambahkan izin.
Langkah 4: Unduh aplikasi sampel
Unduh sampel kode Python atau kloning repositori:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-python/
Langkah 5: Mengonfigurasi aplikasi sampel
Buka aplikasi yang Anda unduh di IDE dan navigasikan ke folder akar aplikasi sampel.
cd flask-web-app
Buat file .env di folder akar proyek menggunakan .env.sample sebagai panduan.
# The following variables are required for the app to run. CLIENT_ID=<Enter_your_client_id> CLIENT_SECRET=<Enter_your_client_secret> AUTHORITY=<Enter_your_authority_url>
- Atur nilai
CLIENT_ID
ke ID Aplikasi (klien) untuk aplikasi terdaftar, tersedia di halaman gambaran umum. - Atur nilai
CLIENT_SECRET
ke rahasia klien yang Anda buat di Sertifikat & Rahasia untuk aplikasi terdaftar. - Atur nilai
AUTHORITY
kehttps://login.microsoftonline.com/<TENANT_GUID>
. ID Direktori (penyewa) tersedia di halaman gambaran umum pendaftaran aplikasi.
Variabel lingkungan dirujuk dalam app_config.py, dan disimpan dalam file .env terpisah untuk menjauhkannya dari kontrol sumber. File .gitignore yang disediakan mencegah file .env dicek masuk.
- Atur nilai
Langkah 6: Jalankan aplikasi sampel
Buat lingkungan virtual untuk aplikasi:
py -m venv .venv .venv\scripts\activate
Instal persyaratan menggunakan
pip
:pip install -r requirements.txt
Jalankan aplikasi dari baris perintah. Pastikan aplikasi Anda berjalan pada port yang sama dengan URI pengalihan yang Anda konfigurasi sebelumnya.
flask run --debug --host=localhost --port=5000
Salin URL https yang muncul di terminal, misalnya, https://localhost:5000, dan tempelkan ke browser. Sebaiknya gunakan sesi browser privat atau penyamaran.
Ikuti langkah-langkah dan masukkan detail yang diperlukan untuk masuk dengan akun Microsoft Anda. Anda diminta untuk memberikan alamat email dan kata sandi untuk masuk.
Aplikasi meminta izin untuk mempertahankan akses ke data yang telah Anda akses, dan untuk memasukkan Anda dan membaca profil Anda, seperti yang ditunjukkan. Pilih Terima.
- Cuplikan layar berikut muncul, menunjukkan bahwa Anda telah berhasil masuk ke aplikasi.
Cara kerjanya
Diagram berikut menunjukkan cara kerja aplikasi sampel:
Aplikasi ini menggunakan
identity
paket untuk mendapatkan token akses dari platform identitas Microsoft. Paket ini dibangun di atas Microsoft Authentication Library (MSAL) untuk Python untuk menyederhanakan autentikasi dan otorisasi di aplikasi web.Token akses yang Anda peroleh di langkah sebelumnya digunakan sebagai token pembawa untuk mengautentikasi pengguna saat memanggil Microsoft Graph API.
Langkah berikutnya
Pelajari lebih lanjut dengan membangun aplikasi web Python yang memasukkan pengguna dan memanggil API web yang dilindungi dalam seri tutorial multi-bagian berikut: