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 Tutorial Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Sudut MSAL Angular3 msal-angular Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
AngularJS MSAL AngularJS3 msal-angularjs Pustaka 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 Pustaka 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 Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
React MSAL React2 msal react Tutorial Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA

1Ketentuan Lisensi Universal untuk Layanan Online berlaku untuk pustaka di Pratinjau publik.

2Aliran kode Autentikasi dengan PKCE saja (Disarankan).

3Alur 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 Pustaka tidak dapat meminta token ID untuk login pengguna.2 Pustaka tidak dapat meminta token akses untuk API web yang dilindungi.2 GA
Inti ASP.NET Inti ASP.NET 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
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Tutorial 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 Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Python identitas identitas Mulai Cepat Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. --

(1)Ketentuan Lisensi Universal untuk Layanan Online berlaku untuk pustaka di 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 Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. Pratinjau umum
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

1Ketentuan 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 Pustaka dapat meminta token ID untuk login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA
Android (Kotlin) MSAL Android MSAL Pustaka dapat meminta token ID untuk login 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 login 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 login pengguna. Pustaka dapat meminta token akses untuk API web yang dilindungi. GA

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

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