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:

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 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:

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 multipenyewa
    • consumers untuk memasukkan pengguna hanya dengan akun pribadi mereka
    • common 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 (atau TenantID ="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 tidak perlu menambahkan URI pengalihan jika Anda membangun aplikasi Xamarin Android dan iOS yang tidak mendukung broker URI pengalihan. Secara otomatis diatur ke msal{ClientId}://auth untuk Xamarin Android dan iOS.

  • Mengonfigurasi URI pengalihan dalam Pendaftaran aplikasi:

    URI pengalihan dalam Pendaftaran aplikasi

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 iOS lainnya, lihat Memigrasikan aplikasi iOS yang menggunakan Microsoft Authenticator dari ADAL.NET ke MSAL.NET dan Memanfaatkan broker di iOS. Untuk detail Android selengkapnya, lihat Autentikasi yang diperantarai di Android.

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.