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 terjadi:
- Aplikasi web menentukan jika pengguna diautentikasi.
- Jika pengguna tidak diautentikasi, aplikasi web mendelegasikan ke ID Microsoft Entra untuk memasukkan pengguna. Aktivitas masuk itu akan mematuhi kebijakan organisasi, yang mungkin berarti meminta pengguna untuk memasukkan info masuknya, menggunakan autentikasi multifaktor (terkadang disebut sebagai autentikasi dua faktor atau 2FA), atau tidak menggunakan kata sandi sama sekali (contohnya menggunakan Windows Hello).
- Pengguna diminta untuk menyetujui akses yang dibutuhkan aplikasi klien. Inilah sebabnya mengapa aplikasi klien perlu didaftarkan dengan MICROSOFT Entra ID, sehingga platform identitas Microsoft dapat mengirimkan token yang mewakili akses yang telah disetujui pengguna.
Ketika pengguna telah berhasil diautentikasi:
- Platform identitas Microsoft mengirim token ke aplikasi web.
- Cookie disimpan, yang terkait dengan domain Microsoft Entra, yang berisi identitas pengguna di 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 cara SSO tercapai. 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 dalam stoples cookie browser. Ketika pengguna menavigasi ke halaman lain, aplikasi web tahu bahwa pengguna diautentikasi berdasarkan cookie sesi.
Diagram urutan berikut merangkum interaksi ini:
Cara aplikasi web menentukan jika pengguna diautentikasi
Pengembang aplikasi web dapat menunjukkan apakah semua atau hanya halaman tertentu yang memerlukan autentikasi. Contohnya, di ASP.NET/ASP.NET Core, hal ini dilakukan dengan menambahkan atribut [Authorize]
ke tindakan pengontrol.
Atribut ini menyebabkan ASP.NET untuk memeriksa keberadaan cookie sesi yang berisi identitas pengguna. Jika cookie tidak ada, ASP.NET mengalihkan autentikasi ke penyedia identitas yang ditentukan. Jika idP adalah ID Microsoft Entra, 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 mengirim HTTP 302 (pengalihan) ke browser untuk menggunakan platform identitas Microsoft.
- Ketika pengguna diautentikasi, platform identitas Microsoft mengirim 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. Sehingga aplikasi web juga perlu menentukan URI pengalihan untuk 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, pada 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.
MSAL menggunakan browser untuk mendapatkan token. Seperti halnya aplikasi web, autentikasi terdelegasi 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 tertanam digunakan untuk memberikan pengalaman pengguna yang lebih terintegrasi.
Langkah berikutnya
Untuk topik lainnya tentang dasar autentikasi dan otorisasi:
- Lihat Autentikasi vs. otorisasi untuk mempelajari konsep dasar autentikasi dan otorisasi dalam 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 guna 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.