Gambaran umum Microsoft Authentication Library (MSAL)
Microsoft Authentication Library (MSAL) memungkinkan pengembang memperoleh token keamanan dari platform identitas Microsoft untuk mengautentikasi pengguna dan mengakses API web aman. Ini dapat digunakan untuk menyediakan akses aman ke Microsoft Graph, MICROSOFT API, API web pihak ketiga, atau API web Anda sendiri. MSAL mendukung arsitektur dan platform aplikasi yang berbeda, termasuk .NET, JavaScript, Java, Python, Android, dan iOS.
MSAL adalah pustaka akuisisi token yang menawarkan beberapa cara untuk mendapatkan token, dengan API yang konsisten untuk platform yang didukung. Menggunakan MSAL memberi manfaat berikut:
- Tidak perlu langsung menulis aplikasi terhadap protokol OAuth. Pipa ditangani oleh pustaka.
- Dapat memperoleh token atas nama pengguna atau aplikasi (jika berlaku untuk platform).
- Pustaka mempertahankan cache token dan menyegarkan token untuk Anda saat akan kedaluwarsa. Anda tidak perlu menangani kedaluwarsa token sendiri.
- Membantu menentukan audiens yang ingin dimasukkan ke aplikasi Anda. Audiens masuk dapat mencakup akun Microsoft pribadi, identitas sosial dengan organisasi ID Eksternal Microsoft Entra, kantor, sekolah, atau pengguna di cloud berdaulat dan nasional.
- Membantu Anda menyiapkan aplikasi dari file konfigurasi.
- Membantu Anda memecahkan masalah aplikasi dengan mengekspos pengecualian, pembuatan log, dan telemetri yang dapat dilakukan.
Jenis dan skenario aplikasi
Menggunakan MSAL, token dapat diperoleh untuk banyak jenis aplikasi: aplikasi web, API web, aplikasi satu halaman (JavaScript), aplikasi seluler dan asli, serta daemon dan aplikasi sisi server.
MSAL dapat digunakan dalam beberapa skenario aplikasi, termasuk yang berikut ini:
- Aplikasi halaman tunggal (JavaScript)
- Pengguna masuk aplikasi web
- Aplikasi web memasukkan pengguna dan memanggil API web atas nama pengguna
- Autentikasi API Web, memastikan bahwa hanya pengguna yang diautentikasi yang dapat mengaksesnya
- API Web memanggil API web hilir lainnya atas nama pengguna yang masuk
- Aplikasi desktop memanggil API web atas nama pengguna yang masuk
- Aplikasi seluler memanggil API web atas nama pengguna yang masuk secara interaktif
- Aplikasi daemon desktop/layanan yang memanggil API web atas nama dirinya sendiri
Bahasa dan kerangka kerja
Pustaka | Platform dan kerangka kerja yang didukung |
---|---|
MSAL.NET | .NET Framework, .NET, Xamarin, Platform Windows Universal |
MSAL Java | Windows, macOS, Linux |
MSAL Python | Windows, macOS, Linux |
MSAL.js | Kerangka kerja JavaScript/TypeScript seperti Vue.js, Ember.js, atau Durandal.js |
MSAL Node | Aplikasi web dengan Express, aplikasi desktop dengan Electron, aplikasi konsol lintas platform |
MSAL React | Aplikasi halaman tunggal dengan React dan pustaka berbasis React (Next.js, Gatsby.js) |
MSAL Angular | Aplikasi halaman tunggal dengan kerangka kerja Angular dan Angular.js |
MSAL untuk Android | Android |
MSAL untuk iOS dan macOS | iOS dan macOS |
MSAL Go | Windows, macOS, Linux |