Aplikasi klien

Pustaka Autentikasi Microsoft (MSAL) Python mendukung dua jenis aplikasi klien: aplikasi klien publik dan aplikasi klien rahasia. Jenis klien dibedakan oleh kemampuan mereka untuk mengautentikasi dengan aman dengan server otorisasi dan untuk menyimpan informasi pembuktian identitas yang sensitif sehingga tidak dapat diakses atau diketahui oleh pengguna dalam cakupan aksesnya. Artikel ini berfokus pada cara menginisialisasi aplikasi ini menggunakan Python MSAL.

Prasyarat

Pahami konsep dasar aplikasi klien publik dan rahasia.

Membuat instans aplikasi

Anda memerlukan pendaftaran aplikasi untuk memulai aplikasi. Daftarkan aplikasi di pusat admin Microsoft Entra. Dari halaman pendaftaran, Anda memerlukan:

  • Pengidentifikasi klien aplikasi. Ini adalah string dalam bentuk GUID.
  • URL penyedia identitas (instans) dan audiens masuk untuk aplikasi Anda. Kedua parameter ini secara kolektif dikenal sebagai otoritas.
  • Jika perlu, pengenal penyewa (juga berupa GUID) jika Anda mengembangkan aplikasi lini bisnis yang dibatasi hanya untuk organisasi Anda (juga dikenal sebagai aplikasi penyewa tunggal).
  • Jika Anda membangun aplikasi klien rahasia, buat rahasia aplikasi dalam bentuk string atau sertifikat.
  • Untuk aplikasi web, atur URL pengalihan yang Microsoft Entra ID gunakan untuk mengembalikan kode. Untuk aplikasi desktop, tambahkan http://localhost jika Anda tidak mengandalkan broker autentikasi.

Membuat instans aplikasi klien publik

Aplikasi klien publik menggunakan PublicClientApplication kelas .

import msal

app = msal.PublicClientApplication(
    "client_id",
    authority="authority",
    )

Membuat instans aplikasi klien konfidensial

Aplikasi klien rahasia menggunakan ConfidentialClientApplication kelas .

import msal

app = msal.ConfidentialClientApplication(
    "client_id",
    authority="authority",
    client_credential="client_secret",
    )

Caching

Saat Anda menginisialisasi aplikasi klien, terdapat dua parameter yang dapat Anda gunakan untuk menentukan preferensi cache Anda. Parameter ini adalah: token_cache dan http_cache.

  • token_cache mengatur cache token yang digunakan oleh instans aplikasi klien. Secara default, cache dalam memori dibuat dan digunakan. Untuk informasi selengkapnya, lihat penyimpanan cache token dalam MSAL Python.
  • http_cache tersedia di Python MSAL versi 1.16+. Ini secara otomatis menyimpan di cache sejumlah terbatas respons HTTP non-token, sehingga instans PublicClientApplication dan ConfidentialClientApplication yang berumur panjang akan memiliki performa yang lebih baik dan lebih responsif dalam situasi tertentu. Jika parameter http_cache tidak disediakan, MSAL menggunakan dict dalam memori. Jika aplikasi Anda adalah aplikasi baris perintah (CLI), Anda ingin mempertahankan http_cache Anda di berbagai CLI yang berjalan. Untuk informasi selengkapnya, lihat panduan referensi.

Langkah berikutnya

Memperoleh token untuk aplikasi Anda.