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 metodologi siklus hidup pengembangan perangkat lunak (SDL) seperti 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 Publik1
Sudut MSAL Angular v22 msal-angular Tutorial Pustakaan dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Sudut MSAL Angular3 msal-angular Pustakaan dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
AngularJS MSAL AngularJS3 msal-angularjs Pustakaan dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. Pratinjau umum
JavaScript MSAL.js v22 msal-browser Tutorial Pustakaan dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
JavaScript MSAL.js 1.03 msal-core Pustakaan dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Reaksi MSAL React2 msal react Tutorial Pustakaan dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA

1 Ketentuan penggunaan tambahan untuk Pratinjau Microsoft Azure berlaku untuk pustaka di pratinjau publik.

2 Aliran kode Auth hanya dengan PCKE (Direkomendasikan).

3 Alur pemberian implisit saja.

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 Pustaka tidak dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
.NET Microsoft.IdentityModel Microsoft.IdentityModel Pustakaan dapat meminta token ID untuk login pengguna.2 Pustaka dapat meminta token akses untuk API web yang dilindungi.2 GA
Inti ASP.NET ASP.NET Security Microsoft.AspNetCore.Authentication Mulai Cepat Pustaka dapat meminta token ID untuk login pengguna. Pustaka tidak dapat meminta token akses untuk API web yang dilindungi. GA
Inti ASP.NET Microsoft.Identity.Web Microsoft.Identity.Web Mulai Cepat Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Java MSAL4J msal4j Mulai Cepat Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Node.js MSAL Node msal-node Mulai Cepat Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Python MSAL Python msal Mulai Cepat Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA

1 Ketentuan penggunaan tambahan untuk Pratinjau Microsoft Azure berlaku untuk pustaka dalam Pratinjau umum.

2 Pustaka Microsoft.IdentityModel hanya memvalidasi token - pustaka ini tidak dapat meminta ID atau mengakses token.

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 Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. Pratinjau publik
Java MSAL4J msal4j Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
macOS (Swift/Obj-C) MSAL untuk iOS dan macOS MSAL Tutorial Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
UWP MSAL.NET Microsoft.Identity.Client Tutorial Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
WPF MSAL.NET Microsoft.Identity.Client Tutorial Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA

1 Ketentuan penggunaan tambahan untuk Pratinjau Microsoft Azure berlaku untuk pustaka dalam Pratinjau umum.

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
Persiapan
Masuk pengguna Akses API web Tersedia secara umum (GA) atau
Pratinjau publik1
Android (Java) MSAL Android MSAL Mulai Cepat Pustaka dapat meminta token ID untuk masuk pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Android (Kotlin) MSAL Android MSAL Pustaka dapat meminta token ID untuk masuk pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
iOS (Swift/Obj-C) MSAL untuk iOS dan macOS MSAL Tutorial Pustaka dapat meminta token ID untuk masuk pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client Pustaka dapat meminta token ID untuk masuk pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA

1 Ketentuan penggunaan tambahan untuk Microsoft Azure Previews berlaku untuk pustaka dalam Pratinjau umum.

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 Pustaka tidak dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Java MSAL4J msal4j Pustaka tidak dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Simpul MSAL Node msal-node Mulai Cepat Pustaka tidak dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Python MSAL Python msal-python Mulai Cepat Pustaka tidak dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA

1 Ketentuan penggunaan tambahan untuk Pratinjau Microsoft Azure berlaku untuk pustaka dalam Pratinjau umum.

Langkah berikutnya

Untuk informasi selengkapnya tentang Microsoft Authentication Library, lihat Gambaran Umum Pustaka Autentikasi Microsoft (MSAL).