Cara mengaktifkan aplikasi klien native untuk berinteraksi dengan aplikasi proksi

Anda dapat menggunakan Proksi Aplikasi Azure Active Directory (Azure AD) untuk menerbitkan aplikasi web, tetapi juga dapat digunakan untuk menerbitkan aplikasi klien native yang dikonfigurasi dengan Microsoft Authentication Library (MSAL). Aplikasi klien native berbeda dengan aplikasi web karena dipasang di perangkat, sementara aplikasi web diakses melalui browser.

Untuk mendukung aplikasi klien native, Proksi Aplikasi menerima token yang dikeluarkan Azure AD yang dikirim di header. Layanan Proksi Aplikasi melakukan autentikasi untuk pengguna. Solusi ini tidak menggunakan token aplikasi untuk autentikasi.

Relationship between end users, Azure AD, and published applications

Untuk menerbitkan aplikasi native, gunakan Microsoft Authentication Library, yang mengurus autentikasi dan mendukung banyak lingkungan klien. Proksi Aplikasi cocok dengan skenario aplikasi Desktop yang memanggil API web atas nama pengguna yang masuk.

Artikel ini memandu Anda melalui empat langkah untuk menerbitkan aplikasi native dengan Proksi Aplikasi dan Pustaka Autentikasi Azure AD.

Langkah 1: Menerbitkan aplikasi proksi Anda

Terbitkan aplikasi proksi Anda seperti yang Anda lakukan pada aplikasi lain dan tetapkan pengguna untuk mengakses aplikasi Anda. Untuk informasi selengkapnya, lihat Menerbitkan aplikasi dengan Proksi Aplikasi.

Langkah 2: Mendaftarkan aplikasi native Anda

Anda sekarang perlu mendaftarkan aplikasi Anda di Azure AD, sebagai berikut:

  1. Masuk ke portal Azure Active Directory. Dasbor untuk pusat admin Azure Active Directory akan muncul.

  2. Di bilah sisi, pilih Azure Active Directory. Halaman ringkasan Azure Active Directory akan muncul.

  3. Di bilah sisi ringkasan Azure AD, pilih Pendaftaran aplikasi. Daftar semua pendaftaran aplikasi akan muncul.

  4. Pilih Pendaftaran baru. Halaman Mendaftarkan aplikasi akan muncul.

    Create a new app registration in the Azure portal

  5. Dalam judul Nama, tentukan nama tampilan yang dilihat pengguna untuk aplikasi Anda.

  6. Di bawah judul Jenis akun yang didukung, pilih tingkat akses menggunakan pedoman ini:

    • Untuk menargetkan hanya akun internal organisasi Anda, pilih Akun di direktori organisasi ini saja.
    • Untuk menargetkan hanya pelanggan bisnis atau pendidikan, pilih Akun di direktori organisasi mana pun.
    • Untuk menargetkan set identitas Microsoft terluas, pilih Akun di direktori organisasi dan akun Microsoft pribadi apa pun.
  7. Di bagian URI Pengalihan, pilih Klien publik (desktop & seluler), lalu ketik URI pengalihan https://login.microsoftonline.com/common/oauth2/nativeclient untuk aplikasi Anda.

  8. Pilih dan baca Kebijakan Platform Microsoft, lalu pilih Daftar. Halaman Ringkasan untuk pendaftaran aplikasi baru dibuat dan ditampilkan.

Untuk informasi selengkapnya tentang membuat pendaftaran aplikasi baru, lihat Mengintegrasikan aplikasi dengan Azure Active Directory.

Langkah 3: Memberikan akses ke aplikasi proksi Anda

Sekarang setelah Anda mendaftarkan aplikasi native, Anda dapat memberinya akses ke aplikasi lain di direktori Anda, dalam hal ini untuk mengakses aplikasi proksi. Untuk memungkinkan aplikasi native diekspos ke aplikasi proksi:

  1. Di bilah sisi halaman pendaftaran aplikasi baru, pilih izin API. Halaman izin API untuk pendaftaran aplikasi baru akan muncul.
  2. Pilih Tambahkan izin. Halaman Meminta izin API akan muncul.
  3. Di bawah pengaturan Pilih API, pilih API yang digunakan organisasi saya. Sebuah daftar muncul, berisi aplikasi di direktori Anda yang mengekspos API.
  4. Ketik di kotak pencarian atau gulir untuk menemukan aplikasi proksi yang Anda terbitkan di Langkah 1: Terbitkan aplikasi proksi Anda, lalu pilih aplikasi proksi.
  5. Dalam judul Jenis izin apa yang diperlukan aplikasi Anda? , pilih jenis izin. Jika aplikasi native Anda perlu mengakses API aplikasi proksi sebagai pengguna yang masuk, pilih Izin yang didelegasikan.
  6. Di judul Pilih izin, pilih izin yang diinginkan, dan pilih Tambahkan izin. Halaman izin API untuk aplikasi native Anda sekarang menampilkan aplikasi proksi dan API izin yang Anda tambahkan.

Langkah 4: Menambahkan Microsoft Authentication Library ke kode Anda (sampel .NET C#)

Edit kode aplikasi native dalam konteks autentikasi Microsoft Authentication Library (MSAL) untuk menyertakan teks berikut:

// Acquire Access Token from AAD for Proxy Application
IPublicClientApplication clientApp = PublicClientApplicationBuilder
.Create(<App ID of the Native app>)
.WithDefaultRedirectUri() // will automatically use the default Uri for native app
.WithAuthority("https://login.microsoftonline.com/{<Tenant ID>}")
.Build();

AuthenticationResult authResult = null;
var accounts = await clientApp.GetAccountsAsync();
IAccount account = accounts.FirstOrDefault();

IEnumerable<string> scopes = new string[] {"<Scope>"};

try
 {
    authResult = await clientApp.AcquireTokenSilent(scopes, account).ExecuteAsync();
 }
    catch (MsalUiRequiredException ex)
 {
     authResult = await clientApp.AcquireTokenInteractive(scopes).ExecuteAsync();                
 }

if (authResult != null)
 {
  //Use the Access Token to access the Proxy Application

  HttpClient httpClient = new HttpClient();
  HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
  HttpResponseMessage response = await httpClient.GetAsync("<Proxy App Url>");
 }

Info yang diperlukan dalam kode sampel dapat ditemukan di portal Azure AD, sebagai berikut:

Info diperlukan Cara menemukannya di portal Azure AD
<ID Penyewa> Azure Active Directory>Properti>ID Direktori
<ID Aplikasi dari aplikasi Native> Pendaftaran aplikasi>aplikasi native Anda>Ringkasan>ID Aplikasi
<Cakupan> Pendaftaran aplikasi>aplikasi asli Anda>izin API> Klik pada API Izin (user_impersonation) > Panel dengan keterangan user_impersonation muncul di sisi kanan. > Cakupannya adalah URL di kotak edit.
<URL Aplikasi Proksi> URL Eksternal dan jalur ke API

Setelah Anda mengedit kode MSAL dengan parameter ini, pengguna Anda dapat mengautentikasi ke aplikasi klien native meskipun mereka berada di luar jaringan perusahaan.

Langkah berikutnya

Untuk informasi selengkapnya tentang alur aplikasi native, lihat Aplikasi native di Azure Active Directory.

Pelajari tentang menyiapkan Akses menyeluruh ke aplikasi di Azure Active Directory.