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

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:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
  2. 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.
  3. Telusuri Aplikasi >Identitas>Pendaftaran aplikasi dan pilih Pendaftaran baru.
  4. Masukkan Nama untuk aplikasi Anda, misalnya python-webapp.
  5. Di bawah Jenis akun yang didukung, pilih Hanya akun dalam direktori organisasi ini.
  6. Di bawah URI Pengalihan, pilih Web untuk platform.
  7. Masukkan URI pengalihan .http://localhost:5000/getAToken Anda dapat mengubah nilai ini nanti.
  8. 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:

  1. Di halaman Gambaran Umum aplikasi, catat nilai ID Aplikasi (klien) untuk digunakan nanti.
  2. Pada bagian Kelola, pilih Sertifikat & rahasia dan dari bagian Rahasia klien, pilih Rahasia klien baru.
  3. Masukkan deskripsi untuk rahasia klien, biarkan kedaluwarsa default, dan pilih Tambahkan.
  4. 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:

  1. Di bagian Kelola, pilih Izin API>Tambahkan izin.
  2. Pastikan bahwa tab API Microsoft dipilih.
  3. Dari bagian API Microsoft yang umum digunakan, pilih Microsoft Graph.
  4. Dari bagian Izin yang didelegasikan, pastikan User.Read dipilih. Gunakan kotak pencarian jika perlu.
  5. 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

  1. Buka aplikasi yang Anda unduh di IDE dan navigasikan ke folder akar aplikasi sampel.

    cd flask-web-app
    
  2. 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 ke https://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.

Langkah 6: Jalankan aplikasi sampel

  1. Buat lingkungan virtual untuk aplikasi:

    py -m venv .venv
    .venv\scripts\activate
    
  2. Instal persyaratan menggunakan pip:

    pip install -r requirements.txt
    
  3. 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
    
  4. Salin URL https yang muncul di terminal, misalnya, https://localhost:5000, dan tempelkan ke browser. Sebaiknya gunakan sesi browser privat atau penyamaran.

  5. 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.

  6. 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.

Diagram yang memperlihatkan aplikasi sampel yang meminta persetujuan untuk mengakses izin yang diperlukan.

  1. Cuplikan layar berikut muncul, menunjukkan bahwa Anda telah berhasil masuk ke aplikasi.

Diagram yang memperlihatkan bagaimana aplikasi sampel telah berhasil masuk ke pengguna.

Cara kerjanya

Diagram berikut menunjukkan cara kerja aplikasi sampel:

Diagram yang menunjukkan cara kerja contoh aplikasi yang dihasilkan oleh mulai cepat ini.

  1. 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.

  2. 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: