Opsi konfigurasi aplikasi
Untuk mengautentikasi dan memperoleh token, Anda menginisialisasi aplikasi klien publik atau rahasia baru dalam kode Anda. Anda dapat mengatur beberapa opsi konfigurasi saat menginisialisasi aplikasi klien dalam Microsoft Authentication Library (MSAL). Opsi ini terdiri dalam dua kelompok:
- Opsi pendaftaran, termasuk:
- Otoritas (terdiri dari instans penyedia identitas dan audiens masuk untuk aplikasi, dan kemungkinan ID penyewa)
- ID klien
- URI Pengalihan
- Rahasia klien (untuk aplikasi klien rahasia)
- Opsi pengelogan, termasuk tingkat log, kontrol data pribadi, dan nama komponen menggunakan pustaka
Otoritas
Otoritas adalah URL yang menunjukkan direktori di mana MSAL dapat meminta token.
Otoritas umum adalah:
URL otoritas umum | Waktu menggunakan |
---|---|
https://login.microsoftonline.com/<tenant>/ |
Pengguna masuk dari organisasi tertentu saja. Dalam <tenant> URL adalah ID penyewa penyewa Microsoft Entra (GUID), atau domain penyewanya. |
https://login.microsoftonline.com/common/ |
Pengguna masuk dengan akun kantor dan sekolah atau akun Microsoft pribadi. |
https://login.microsoftonline.com/organizations/ |
Pengguna masuk dengan akun kantor dan sekolah. |
https://login.microsoftonline.com/consumers/ |
Pengguna masuk dengan akun Microsoft pribadi (MSA) saja. |
Otoritas yang Anda tentukan dalam kode Anda harus konsisten dengan Jenis akun yang didukung yang Anda tentukan untuk aplikasi di Pendaftaran aplikasi di portal Microsoft Azure.
Kewenangannya dapat berupa:
- Otoritas cloud Microsoft Entra.
- Otoritas cloud Azure AD B2C. Lihat informasi spesifik B2C.
- Otoritas Layanan Federasi Direktori Aktif (AD FS). Lihat Dukungan Layanan Federasi Direktori Aktif.
Otoritas cloud Microsoft Entra memiliki dua bagian:
- Instans penyedia identitas
- Audiens masuk untuk aplikasi
Instans dan audiens dapat disusun dan disediakan sebagai URL otoritas. Diagram ini menunjukkan bagaimana URL otoritas disusun:
Instans cloud
Instans ini digunakan untuk menentukan apakah aplikasi Anda memasukkan pengguna dari cloud publik Azure atau dari cloud nasional. Dengan menggunakan MSAL dalam kode, Anda dapat mengatur instans cloud Azure dengan menggunakan enumerasi atau dengan meneruskan URL ke instans cloud nasional sebagai anggota Instance
.
MSAL.NET akan mengembalikan pengecualian eksplisit jika Instance
dan AzureCloudInstance
ditentukan.
Jika Anda tidak menentukan instans, aplikasi Anda akan menargetkan instans cloud publik Azure (contohnya URL https://login.onmicrosoftonline.com
).
Audiens aplikasi
Proses masuk audiens bergantung pada kebutuhan bisnis untuk aplikasi Anda:
- Jika Anda adalah pengembang lini bisnis (LOB), Anda mungkin akan menghasilkan aplikasi penyewa tunggal yang hanya akan digunakan di organisasi Anda. Dalam hal ini, tentukan organisasi dengan ID penyewanya (ID instans Microsoft Entra Anda) atau dengan nama domain yang terkait dengan instans Microsoft Entra.
- Jika Anda adalah ISV, Anda mungkin ingin pengguna masuk dengan akun kantor dan sekolah mereka di organisasi atau di beberapa organisasi (aplikasi multipenyewa). Tetapi Anda mungkin juga ingin meminta pengguna masuk dengan akun Microsoft pribadi mereka.
Cara menentukan audiens dalam kode/konfigurasi Anda
Menggunakan MSAL dalam kode Anda, audiens ditentukan dengan menggunakan salah satu nilai berikut:
- Enumerasi audiens otoritas Microsoft Entra
- ID penyewa, yang dapat berupa:
- GUID (ID instans Microsoft Entra Anda), untuk aplikasi penyewa tunggal
- Nama domain yang terkait dengan instans Microsoft Entra Anda (juga untuk aplikasi penyewa tunggal)
- Salah satu tempat penampung ini sebagai ID penyewa sebagai pengganti enumerasi audiens otoritas Microsoft Entra:
organizations
untuk aplikasi multipenyewaconsumers
untuk memasukkan pengguna hanya dengan akun pribadi merekacommon
untuk memasukkan pengguna dengan akun kantor dan sekolah atau akun Microsoft pribadi
MSAL akan memberikan pengecualian yang bermakna jika Anda menentukan audiens otoritas Microsoft Entra dan ID penyewa.
Disarankan untuk menentukan audiens, penyewa sebanyak mungkin, dan aplikasi yang disebarkan di dalamnya akan memiliki pengguna tamu. Jika aplikasi Anda akan memiliki pengguna eksternal, titik common
akhir dan organization
paling baik dihindari. Jika Anda tidak menentukan audiens, aplikasi Anda akan menargetkan ID Microsoft Entra dan akun Microsoft pribadi sebagai audiens dan akan berprilaku seolah-olah common
ditentukan.
Audiens yang efektif
Audiens yang efektif untuk aplikasi Anda akan minimal (jika ada persimpangan) dari audiens yang Anda tetapkan di aplikasi Anda dan audiens yang ditentukan dalam pendaftaran aplikasi. Faktanya, pengalaman Pendaftaran aplikasi memungkinkan Anda menentukan audiens (jenis akun yang didukung) untuk aplikasi. Untuk informasi selengkapnya, lihat Mulai cepat: Daftarkan aplikasi dengan platform identitas Microsoft.
Saat ini, satu-satunya cara untuk mendapatkan aplikasi untuk pengguna yang masuk hanya dengan akun Microsoft pribadi adalah dengan mengonfigurasi kedua pengaturan ini:
- Atur audiens pendaftaran aplikasi ke
Work and school accounts and personal accounts
. - Atur audiens dalam kode/konfigurasi Anda ke
AadAuthorityAudience.PersonalMicrosoftAccount
(atauTenantID
="consumers").
ID klien
ID klien adalah ID Aplikasi (klien) unik yang ditetapkan ke aplikasi Anda oleh ID Microsoft Entra saat aplikasi terdaftar. Anda dapat menemukan ID Aplikasi (Klien) di halaman Gambaran Umum untuk aplikasi di aplikasi Identity>Applications>Enterprise.
URI Pengalihan
URI pengalihan adalah URI penyedia identitas yang akan mengirim kembali token keamanan.
URI pengalihan untuk aplikasi klien publik
Jika Anda adalah pengembang aplikasi klien publik yang menggunakan MSAL:
Anda ingin menggunakan
.WithDefaultRedirectUri()
di desktop atau aplikasi Universal Windows Platform (UWP) (MSAL.NET 4.1+). Metode.WithDefaultRedirectUri()
akan mengatur properti URI pengalihan aplikasi klien publik ke URI pengalihan default yang direkomendasikan untuk aplikasi klien publik.Platform URI Pengalihan Aplikasi desktop (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
UWP nilai WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
. Ini mengaktifkan akses menyeluruh (SSO) dengan browser dengan mengatur nilai ke hasil WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), yang harus Anda daftarkan.NET https://localhost
memungkinkan pengguna menggunakan browser sistem untuk autentikasi interaktif karena .NET tidak memiliki UI untuk tampilan web yang disematkan saat ini.
Anda dapat mengambil alih URI pengalihan dengan menggunakan properti RedirectUri
(misalnya, jika Anda menggunakan broker). Berikut adalah beberapa contoh URI pengalihan untuk skenario tersebut:
RedirectUriOnAndroid
= "msauth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";RedirectUriOnIos
= $"msauth.{Bundle.ID}://auth";
Untuk detail Android selengkapnya, lihat Autentikasi yang diperantarai di Android.
Saat membuat aplikasi menggunakan MSAL Android, Anda dapat mengonfigurasi
redirect_uri
selama langkah pendaftaran Aplikasi awal atau menambahkannya setelahnya.- Format URI pengalihan adalah:
msauth://<yourpackagename>/<base64urlencodedsignature>
- Contoh:
redirect_uri
=msauth://com.azuresamples.myapp/6/aB1cD2eF3gH4iJ5kL6-mN7oP8qR=
- Format URI pengalihan adalah:
Untuk menemukan detail selengkapnya tentang konfigurasi aplikasi MSAL Android, lihat konfigurasi MSAL Android.
Mengonfigurasi URI pengalihan dalam Pendaftaran aplikasi:
URI pengalihan untuk aplikasi klien rahasia
Untuk aplikasi web, URI pengalihan (atau URL balasan) adalah URI yang akan digunakan ID Microsoft Entra untuk mengirim token kembali ke aplikasi. URI dapat berupa URL aplikasi web/API web jika aplikasi rahasia adalah salah satunya. URI pengalihan harus didaftarkan dalam pendaftaran aplikasi. Pendaftaran sangat penting saat Anda menyebarkan aplikasi yang awalnya Anda uji secara lokal. Anda kemudian harus menambahkan URL balasan dari aplikasi yang diterapkan di portal pendaftaran aplikasi.
Untuk aplikasi daemon, Anda tidak perlu menentukan URI pengalihan.
Rahasia Klien
Opsi ini menentukan rahasia klien untuk aplikasi klien rahasia. Rahasia klien (kata sandi aplikasi) disediakan oleh portal pendaftaran aplikasi atau disediakan untuk ID Microsoft Entra selama pendaftaran aplikasi dengan POWERShell Microsoft Entra ID, PowerShell AzureRM, atau Azure CLI.
Pencatatan
Untuk membantu dalam skenario pemecahan masalah kegagalan penelusuran kesalahan dan autentikasi, MSAL menyediakan dukungan pengelogan bawaan. Pengelogan di setiap pustaka dibahas dalam artikel berikut:
Langkah berikutnya
Pelajari tentang menginstansiasi aplikasi klien dengan menggunakan aplikasi MSAL.NET dan menginstansiasi dengan menggunakan MSAL.js.