Pustaka autentikasi platform identitas Microsoft
Tabel berikut ini menampilkan dukungan Microsoft Authentication Library untuk beberapa jenis aplikasi. Tabel ini menyertakan tautan ke kode sumber pustakan, tempat mendapatkan paket untuk proyek aplikasi Anda, dan apakah pustaka mendukung rincian masuk pengguna (autentikasi), akses ke API web yang dilindungi (otorisasi), atau keduanya.
Platform identitas Microsoft telah bersertifikat OpenID Foundation sebagai penyedia bersertifikat OpenID Connect. Jika Anda lebih memilih menggunakan pustaka selain Microsoft Authentication Library (MSAL) atau pustaka lain yang didukung Microsoft, pilih pustaka dengan penerapan bersertifikat OpenID Connect.
Jika Anda memilih untuk memberi kode tangan penerapan tingkat protokol Anda sendiri dari OAuth 2.0 atau OpenID Connect 1.0, perhatikan dengan cermat pertimbangan keamanan dalam spesifikasi setiap standar dan ikuti desain perangkat lunak dan praktik pengembangan yang aman seperti pada Microsoft SDL.
Single-page application (SPA)
Single-page application berjalan sepenuhnya di browser dan mengambil data halaman (HTML, CSS, dan JavaScript) secara dinamis atau pada waktu memuat aplikasi. Ini dapat memanggil API web untuk berinteraksi dengan sumber data ujung belakang.
Karena kode SPA berjalan sepenuhnya di browser, itu dianggap sebagai klien publik yang tidak dapat menyimpan rahasia dengan aman.
Bahasa pemrogram/kerangka kerja | Proyek di GitHub |
Paket | Persiapan memulai |
Memasukkan pengguna | Mengakses API web | Tersedia secara umum (GA) atau Pratinjau umum1 |
---|---|---|---|---|---|---|
Sudut | MSAL Angular v22 | msal-angular | Mulai Cepat | GA | ||
Sudut | MSAL Angular3 | msal-angular | — | GA | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Pratinjau umum | ||
JavaScript | MSAL.js v22 | msal-browser | Tutorial | GA | ||
JavaScript | MSAL.js 1.03 | msal-core | — | GA | ||
React | MSAL React2 | msal react | Mulai Cepat | GA |
1 Ketentuan Lisensi Universal untuk Layanan Online berlaku untuk pustaka di Pratinjau publik.
2 Aliran kode Autentikasi dengan PKCE saja (Disarankan).
3 Alur pemberian izin implisit saja (Tidak disarankan).
Aplikasi web
Aplikasi web menjalankan kode di server yang menghasilkan dan mengirim HTML, CSS, dan JavaScript ke browser web pengguna untuk disajikan. Identitas pengguna dipertahankan sebagai sesi antara browser pengguna (ujung depan) dan server web (ujung belakang).
Karena kode aplikasi web berjalan di server web, aplikasi ini dianggap sebagai klien rahasia yang dapat menyimpan rahasia dengan aman.
Bahasa pemrogram/kerangka kerja | Proyek di GitHub |
Paket | Persiapan memulai |
Memasukkan pengguna | Mengakses API web | Tersedia secara umum (GA) atau Pratinjau umum1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | — | GA | ||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | GA |
Inti ASP.NET | Inti ASP.NET | Microsoft.AspNetCore.Authentication | Mulai Cepat | GA | ||
Inti ASP.NET | Microsoft.Identity.Web | Microsoft.Identity.Web | Mulai Cepat | GA | ||
Java | MSAL4J | msal4j | Mulai Cepat | GA | ||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Tutorial | GA | ||
Node.js | MSAL Node | msal-node | Mulai Cepat | GA | ||
Python | MSAL Python | msal | GA | |||
Python | identitas | identitas | Mulai Cepat | -- |
(1) Ketentuan Lisensi Universal untuk Layanan Online berlaku untuk pustaka dalam Pratinjau publik.
(2) Pustaka Microsoft.IdentityModel hanya memvalidasi token - pustaka tidak dapat meminta ID atau token akses.
Aplikasi desktop
Aplikasi desktop biasanya merupakan kode biner (dikompilasi), yang menampilkan antarmuka pengguna dan dimaksudkan untuk berjalan di desktop pengguna.
Karena aplikasi desktop berjalan di desktop pengguna, aplikasi ini dianggap sebagai klien publik yang tidak dapat menyimpan rahasia dengan aman.
Bahasa pemrogram/kerangka kerja | Proyek di GitHub |
Paket | Persiapan memulai |
Memasukkan pengguna | Mengakses API web | Tersedia secara umum (GA) atau Pratinjau umum1 |
---|---|---|---|---|---|---|
Electron | MSAL Node.js | msal-node | — | Pratinjau umum | ||
Java | MSAL4J | msal4j | — | GA | ||
macOS (Swift/Obj-C) | MSAL untuk iOS dan macOS | MSAL | Tutorial | GA | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Tutorial | GA | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Tutorial | GA |
1 Ketentuan Lisensi Universal untuk Layanan Online berlaku untuk pustaka di Pratinjau publik.
Aplikasi seluler
Aplikasi seluler biasanya merupakan kode (dikompilasi) biner, yang menampilkan antarmuka pengguna, dan dimaksudkan untuk berjalan pada perangkat seluler.
Karena aplikasi seluler berjalan di perangkat seluler pengguna, aplikasi ini dianggap sebagai klien publik yang tidak dapat menyimpan rahasia dengan aman.
Platform | Proyek di GitHub |
Paket | Persiapan memulai |
Memasukkan pengguna | Mengakses API web | Tersedia secara umum (GA) atau Pratinjau umum1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | MSAL | Mulai Cepat | GA | ||
Android (Kotlin) | MSAL Android | MSAL | — | GA | ||
iOS (Swift/Obj-C) | MSAL untuk iOS dan macOS | MSAL | Tutorial | GA | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | GA |
1 Ketentuan Lisensi Universal untuk Layanan Online berlaku untuk pustaka di Pratinjau publik.
Layanan / daemon
Layanan dan daemon umumnya digunakan untuk komunikasi server-ke-server dan komunikasi tanpa pengawasan lainnya (terkadang disebut headless). Karena tidak ada pengguna di papan ketik untuk memasukkan kredensial atau persetujuan untuk akses sumber daya, aplikasi ini mengautentikasi sebagai diri sendiri, bukan pengguna, ketika meminta akses resmi ke sumber daya API web.
Layanan atau daemon yang berjalan di server dianggap sebagai klien rahasia yang dapat menyimpan rahasianya dengan aman.
Bahasa pemrogram/kerangka kerja | Proyek di GitHub |
Paket | Persiapan memulai |
Memasukkan pengguna | Mengakses API web | Tersedia secara umum (GA) atau Pratinjau umum1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | Mulai Cepat | GA | ||
Java | MSAL4J | msal4j | — | GA | ||
Simpul | MSAL Node | msal-node | Mulai Cepat | GA | ||
Python | MSAL Python | msal-python | Mulai Cepat | GA |
1 Ketentuan Lisensi Universal untuk Layanan Online berlaku untuk pustaka di Pratinjau publik.
Langkah berikutnya
Untuk informasi selengkapnya tentang Microsoft Authentication Library, lihat Gambaran Umum Pustaka Autentikasi Microsoft (MSAL).