Alur masuk aplikasi dengan platform identitas Microsoft

Topik ini membahas alur masuk dasar untuk aplikasi web, desktop, dan seluler menggunakan platform identitas Microsoft. Lihat Alur autentikasi dan skenario aplikasi untuk mempelajari tentang skenario masuk yang didukung oleh platform identitas Microsoft.

Alur masuk aplikasi web

Saat pengguna menavigasi di browser ke aplikasi web, hal berikut ini terjadi:

  • Aplikasi web menentukan apakah pengguna diautentikasi.
  • Jika pengguna belum diautentikasi, aplikasi web mendelegasikan otorisasi kepada Microsoft Entra ID untuk masuk ke pengguna. Proses masuk tersebut akan sesuai dengan kebijakan organisasi, yang mungkin berarti meminta pengguna untuk memasukkan kredensial mereka, menggunakan autentikasi multifaktor (terkadang disebut sebagai autentikasi dua faktor atau 2FA), atau tidak menggunakan kata sandi sama sekali (misalnya menggunakan Windows Hello).
  • Pengguna diminta untuk menyetujui akses yang dibutuhkan aplikasi klien. Inilah sebabnya mengapa aplikasi klien perlu didaftarkan dengan ID Microsoft Entra, sehingga platform identitas Microsoft dapat mengirimkan token yang mewakili akses yang telah disetujui pengguna.

Ketika pengguna telah berhasil mengautentikasi:

  • Platform identitas Microsoft mengirimkan token ke aplikasi web.
  • Cookie disimpan dan terkait dengan domain Microsoft Entra serta berisi identitas pengguna dalam jar cookie browser. Saat berikutnya aplikasi menggunakan browser untuk menavigasi ke titik akhir otorisasi platform identitas Microsoft, browser menyajikan cookie sehingga pengguna tidak perlu masuk lagi. Ini juga merupakan cara untuk mencapai SSO. Cookie diproduksi oleh ID Microsoft Entra dan hanya dapat dipahami oleh ID Microsoft Entra.
  • Aplikasi web kemudian memvalidasi token. Jika validasi berhasil, aplikasi web menampilkan halaman yang dilindungi dan menyimpan cookie sesi di jar cookie browser. Saat pengguna menavigasi ke halaman lain, aplikasi web tahu bahwa pengguna diautentikasi berdasarkan cookie sesi.

Diagram urutan berikut meringkas interaksi ini:

proses autentikasi aplikasi web

Bagaimana aplikasi web menentukan apakah pengguna diautentikasi

Pengembang aplikasi web dapat menunjukkan apakah semua atau hanya halaman tertentu yang memerlukan autentikasi. Misalnya, di ASP.NET/ASP.NET Core, ini dilakukan dengan menambahkan [Authorize] atribut ke tindakan pengontrol.

Atribut ini menyebabkan ASP.NET memeriksa keberadaan cookie sesi yang berisi identitas pengguna. Jika cookie tidak ada, ASP.NET mengalihkan autentikasi ke penyedia identitas yang ditentukan. Jika penyedia identitas adalah Microsoft Entra ID, aplikasi web mengalihkan autentikasi ke https://login.microsoftonline.com, yang menampilkan dialog masuk.

Cara aplikasi web mendelegasikan masuk ke platform identitas Microsoft dan mendapatkan token

Autentikasi pengguna terjadi melalui browser. Protokol OpenID menggunakan pesan protokol HTTP standar.

  • Aplikasi web mengirimkan HTTP 302 (pengalihan) ke browser untuk menggunakan platform identitas Microsoft.
  • Saat pengguna diautentikasi, platform identitas Microsoft mengirimkan token ke aplikasi web dengan menggunakan pengalihan melalui browser.
  • Pengalihan disediakan oleh aplikasi web dalam bentuk URI pengalihan. URI pengalihan ini terdaftar di objek aplikasi Microsoft Entra. Mungkin ada beberapa URI pengalihan karena aplikasi dapat disebarkan di beberapa URL. Jadi aplikasi web juga perlu menentukan URI pengalihan yang akan digunakan.
  • MICROSOFT Entra ID memverifikasi bahwa URI pengalihan yang dikirim oleh aplikasi web adalah salah satu URI pengalihan terdaftar untuk aplikasi.

Alur masuk aplikasi desktop dan seluler

Alur yang dijelaskan di atas berlaku, dengan sedikit perbedaan, untuk aplikasi desktop dan seluler.

Aplikasi desktop dan seluler dapat menggunakan kontrol Web yang disematkan, atau browser sistem, untuk autentikasi. Diagram berikut menunjukkan bagaimana desktop atau aplikasi seluler menggunakan Microsoft Authentication Library (MSAL) untuk memperoleh token akses dan memanggil API web.

Tampilan aplikasi desktop

MSAL menggunakan browser untuk mendapatkan token. Seperti halnya aplikasi web, autentikasi didelegasikan ke platform identitas Microsoft.

Karena ID Microsoft Entra menyimpan cookie identitas yang sama di browser seperti halnya untuk aplikasi web, jika aplikasi asli atau seluler menggunakan browser sistem, ia akan segera mendapatkan SSO dengan aplikasi web yang sesuai.

Secara default, MSAL menggunakan browser sistem. Pengecualiannya adalah aplikasi desktop .NET Framework di mana kontrol yang disematkan digunakan untuk memberikan pengalaman pengguna yang lebih terintegrasi.

Langkah selanjutnya

Untuk topik lain yang mencakup dasar-dasar autentikasi dan otorisasi:

  • Lihat Autentikasi vs. otorisasi untuk mempelajari tentang konsep dasar autentikasi dan otorisasi di platform identitas Microsoft.
  • Lihat Token keamanan untuk mempelajari bagaimana token akses, token refresh, dan token ID digunakan dalam autentikasi dan otorisasi.
  • Lihat Model aplikasi untuk mempelajari tentang proses pendaftaran aplikasi Anda sehingga dapat diintegrasikan dengan platform identitas Microsoft.
  • Lihat Mengamankan aplikasi dan API dengan memvalidasi klaim untuk mempelajari cara menggunakan klaim token dengan aman untuk logika otorisasi di aplikasi Anda.

Untuk mempelajari selengkapnya tentang alur masuk aplikasi:

  • Lihat Alur autentikasi dan skenario aplikasi untuk mempelajari selengkapnya tentang skenario lain untuk mengautentikasi pengguna yang didukung oleh platform identitas Microsoft.
  • Lihat Pustaka MSAL untuk mempelajari tentang pustaka Microsoft yang membantu Anda mengembangkan aplikasi yang bekerja dengan Akun Microsoft, akun Microsoft Entra, dan pengguna Azure AD B2C semuanya dalam satu model pemrograman yang disederhanakan.