Aplikasi desktop yang memanggil API web - Pendaftaran aplikasi
Artikel ini membahas spesifikasi pendaftaran aplikasi untuk aplikasi desktop.
Jenis akun yang didukung
Jenis akun yang didukung di aplikasi desktop bergantung pada pengalaman yang ingin Anda nyalakan. Karena hubungan ini, jenis akun yang didukung bergantung pada alur yang ingin Anda gunakan.
Audiens untuk akuisisi token interaktif
Jika aplikasi desktop Anda menggunakan autentikasi interaktif, Anda dapat masuk pengguna dari tipe akun apa pun.
Audiens untuk aplikasi desktop alur senyap
- Untuk menggunakan autentikasi Windows terintegrasi atau nama pengguna dan sandi, aplikasi Anda perlu memasukkan pengguna di penyewa Anda sendiri, misalnya, jika Anda adalah pengembang lini bisnis (LOB). Atau, di organisasi Microsoft Entra, aplikasi Anda perlu memasukkan pengguna di penyewa Anda sendiri jika itu adalah skenario ISV. Alur autentikasi ini tidak didukung untuk akun personal Microsoft.
- Jika Anda masuk pengguna dengan identitas sosial yang lulus otoritas dan kebijakan business-to-commerce (B2C), Anda hanya dapat menggunakan autentikasi interaktif dan kata sandi-nama pengguna.
URI Pengalihan
URI pengalihan untuk digunakan dalam aplikasi desktop bergantung pada alur yang ingin Anda gunakan.
Tentukan URI pengalihan untuk aplikasi Anda dengan mengonfigurasi pengaturan platform untuk aplikasi di Pendaftaran aplikasi di pusat admin Microsoft Entra.
Untuk aplikasi yang menggunakan Web Authentication Manager (WAM), URI pengalihan tidak perlu dikonfigurasi dalam MSAL, tetapi harus dikonfigurasi di pendaftaran aplikasi.
Untuk aplikasi yang menggunakan autentikasi interaktif:
- Aplikasi yang menggunakan browser yang disematkan:
https://login.microsoftonline.com/common/oauth2/nativeclient
(Catatan: Jika aplikasi Anda akan memunculkan jendela yang biasanya tidak berisi bilah alamat, aplikasi tersebut menggunakan "browser yang disematkan".) - Aplikasi yang menggunakan browser sistem:
http://localhost
(Catatan: Jika aplikasi Anda akan membawa browser default sistem Anda (seperti Edge, Chrome, Firefox, dan sebagainya) untuk mengunjungi portal masuk Microsoft, aplikasi tersebut menggunakan "browser sistem".)
Penting
Sebagai praktik terbaik keamanan, kami merekomendasikan pengaturan secara eksplisit
https://login.microsoftonline.com/common/oauth2/nativeclient
atauhttp://localhost
sebagai URI pengalihan. Beberapa pustaka autentikasi MSAL.NET menggunakan nilai defaulturn:ietf:wg:oauth:2.0:oob
ketika tidak ada URI pengalihan lain yang ditentukan, yang tidak disarankan. Default ini akan diperbarui sebagai perubahan yang melanggar dalam rilis utama berikutnya.- Aplikasi yang menggunakan browser yang disematkan:
Jika Anda membuat aplikasi Objective-C atau Swift asli untuk macOS, daftarkan URI pengalihan berdasarkan pengidentifikasi bundel aplikasi Anda dalam format berikut:
msauth.<your.app.bundle.id>://auth
. Ganti<your.app.bundle.id>
dengan bundel pengidentifikasi aplikasi Anda.Jika Anda membuat aplikasi elektron Node.js, gunakan protokol string kustom alih-alih URI pengalihan web reguler (https://) untuk menangani langkah pengalihan alur otorisasi, misalnya
msal{Your_Application/Client_Id}://auth
(seperti msal00001111-aaaa-2222-bbbb-3333cc4444://auth). Nama protokol string kustom tidak boleh mudah ditebak dan harus mengikuti saran dalam Spesifikasi OAuth2.0 untuk Aplikasi Native.Jika aplikasi Anda hanya menggunakan autentikasi Windows terintegrasi atau nama pengguna dan kata sandi, Anda tidak perlu mendaftarkan URI pengalihan untuk aplikasi Anda. Alur ini melakukan perjalanan pulang pergi ke titik akhir platform identitas Microsoft v2.0. Aplikasi Anda tidak akan dipanggil balik pada URI tertentu.
Untuk membedakan alur kode perangkat, autentikasi Windows terintegrasi, dan nama pengguna dan sandi dari aplikasi klien rahasia menggunakan alur kredensial klien yang digunakan di daemon aplikasi, yang tidak memerlukan URI pengalihan, konfigurasikan sebagai aplikasi klien publik. Untuk mencapai konfigurasi ini:
Di pusat admin Microsoft Entra, pilih aplikasi Anda di Pendaftaran aplikasi, lalu pilih Autentikasi.
Di Pengaturan tingkat lanjut>Izinkan alur klien publik>Mengaktifkan alur seluler dan desktop berikut:, pilih Ya.
Izin API
Aplikasi desktop memanggil API untuk pengguna yang masuk. Aplikasi web perlu meminta izin yang didelegasikan. Mereka tidak dapat meminta izin aplikasi, yang hanya ditangani dalam aplikasi daemon.
Langkah berikutnya
Lanjutkan ke artikel berikutnya dalam skenario ini, Konfigurasi kode aplikasi.