Skenario dan rekomendasi autentikasi

Jika Anda memiliki aplikasi web atau API yang berjalan di Azure App Service, Anda dapat membatasi akses ke aplikasi tersebut berdasarkan identitas pengguna atau aplikasi yang memintanya. App Service menawarkan beberapa solusi autentikasi untuk membantu Anda mencapai tujuan ini. Dalam artikel ini, Anda akan mempelajari tentang berbagai opsi autentikasi, manfaat dan kelemahannya, dan solusi autentikasi mana yang akan digunakan untuk skenario tertentu.

Solusi autentikasi

  • Autentikasi bawaan Azure App Service - Memungkinkan Anda memasukkan pengguna dan mengakses data dengan menulis kode minimal atau tanpa kode di aplikasi web, RESTful API, atau back end seluler Anda. Ini dibangun langsung ke dalam platform dan tidak memerlukan bahasa, pustaka, keahlian keamanan, atau bahkan kode tertentu untuk digunakan.
  • Microsoft Authentication Library (MSAL) - Memungkinkan pengembang memperoleh token keamanan dari platform identitas Microsoft untuk mengautentikasi pengguna dan mengakses API web aman. Tersedia untuk beberapa platform dan kerangka kerja yang didukung, ini adalah pustaka tujuan umum yang dapat digunakan di berbagai lingkungan yang dihosting. Pengembang juga dapat berintegrasi dengan beberapa penyedia masuk, seperti Microsoft Entra, Facebook, Google, Twitter.
  • Microsoft.Identity.Web - Pustaka tingkat lebih tinggi yang membungkus MSAL.NET, ini menyediakan serangkaian abstraksi ASP.NET Core yang menyederhanakan penambahan dukungan autentikasi ke aplikasi web dan API web yang terintegrasi dengan platform identitas Microsoft. Ini menyediakan lapisan kenyamanan API permukaan tunggal yang mengikat bersama-sama ASP.NET Core, middleware autentikasinya, dan MSAL.NET. Pustaka ini dapat digunakan dalam aplikasi di berbagai lingkungan yang dihosting. Anda dapat berintegrasi dengan beberapa penyedia masuk, seperti Microsoft Entra, Facebook, Google, Twitter.

Rekomendasi skenario

Tabel berikut mencantumkan setiap solusi autentikasi dan beberapa faktor penting saat Anda akan menggunakannya.

Metode autentikasi Waktu menggunakan
Autentikasi App Service bawaan * Anda ingin lebih sedikit kode untuk dimiliki dan dikelola.
* Bahasa dan SDK aplikasi Anda tidak menyediakan rincian masuk atau otorisasi pengguna.
* Anda tidak memiliki kemampuan untuk memodifikasi kode aplikasi Anda (misalnya, saat memigrasikan aplikasi warisan).
* Anda perlu menangani autentikasi melalui konfigurasi dan bukan kode.
* Anda perlu masuk ke pengguna eksternal atau sosial.
Microsoft Authentication Library (MSAL) * Anda memerlukan solusi kode dalam salah satu dari beberapa bahasa yang berbeda
* Anda perlu menambahkan logika otorisasi kustom.
* Anda perlu mendukung persetujuan inkremental.
* Anda memerlukan informasi tentang pengguna yang masuk dalam kode Anda.
* Anda perlu masuk ke pengguna eksternal atau sosial.
* Aplikasi Anda perlu menangani token akses yang kedaluwarsa tanpa membuat pengguna masuk lagi.
Microsoft.Identity.Web * Anda memiliki aplikasi ASP.NET Core.
* Anda memerlukan dukungan akses menyeluruh di IDE Anda selama pengembangan lokal.
* Anda perlu menambahkan logika otorisasi kustom.
* Anda perlu mendukung persetujuan inkremental.
* Anda memerlukan akses bersyarah di aplikasi web Anda.
* Anda memerlukan informasi tentang pengguna yang masuk dalam kode Anda.
* Anda perlu masuk ke pengguna eksternal atau sosial.
* Aplikasi Anda perlu menangani token akses yang kedaluwarsa tanpa membuat pengguna masuk lagi.

Tabel berikut ini mencantumkan skenario autentikasi dan solusi autentikasi yang akan Anda gunakan.

Skenario Autentikasi bawaan App Service Pustaka Autentikasi Microsoft Microsoft.Identity.Web
Perlu cara cepat dan sederhana untuk membatasi akses ke pengguna di organisasi Anda?
Tidak dapat mengubah kode aplikasi (skenario migrasi aplikasi)?
Bahasa dan pustaka aplikasi Anda mendukung proses masuk/otorisasi pengguna?
Bahkan jika Anda dapat menggunakan solusi kode, apakah Anda lebih suka tidak menggunakan pustaka? Tidak ingin beban pemeliharaan?
Apakah aplikasi web Anda perlu memberikan persetujuan bertahap?
Apakah Anda memerlukan akses bersyar di aplikasi web Anda?
Aplikasi Anda perlu menangani token akses kedaluwarsa tanpa membuat pengguna masuk lagi (gunakan token refresh)?
Perlu logika otorisasi kustom atau info tentang pengguna yang masuk?
Perlu memasukkan pengguna dari idP eksternal atau sosial?
Anda memiliki aplikasi ASP.NET Core?
Anda memiliki aplikasi satu halaman atau aplikasi web statis?
Ingin integrasi Visual Studio?
Perlu dukungan akses menyeluruh di IDE Anda selama pengembangan lokal?

Langkah berikutnya

Untuk mulai menggunakan autentikasi App Service bawaan, baca:

Untuk mulai menggunakan Microsoft Authentication Library (MSAL), baca:

Untuk mulai menggunakan Microsoft.Identity.Web, baca:

Pelajari selengkapnya tentang autentikasi dan otorisasi bawaan App Service