Skenario: Aplikasi Asli memanggil API Web
Berlaku untuk: Windows Server 2022, Windows Server 2019, AD FS 2019 dan yang lebih baru
Pelajari cara membuat pengguna masuk aplikasi asli yang diautentikasi oleh LAYANAN Federasi Direktori Aktif 2019 dan memperoleh token menggunakan pustaka MSAL untuk memanggil API web.
Sebelum membaca artikel ini, Anda harus terbiasa dengan konsep LAYANAN Federasi Direktori Aktif dan alur pemberian kode otorisasi
Gambaran Umum
Dalam alur ini Anda menambahkan autentikasi ke Aplikasi Asli (klien publik), yang karenanya dapat memasukkan pengguna dan memanggil API Web. Untuk memanggil API Web dari Aplikasi Asli yang memasukkan pengguna, Anda dapat menggunakan metode akuisisi token AcquireTokenInteractive MSAL. Untuk mengaktifkan interaksi ini, MSAL memanfaatkan browser web.
Untuk lebih memahami cara mengonfigurasi Aplikasi Native di Layanan Federasi Direktori Aktif untuk memperoleh token akses secara interaktif, mari kita gunakan sampel yang tersedia di sini dan menelusuri langkah-langkah pendaftaran aplikasi dan konfigurasi kode.
Prasyarat
- Alat klien GitHub
- Layanan Federasi Direktori Aktif 2019 atau yang lebih baru dikonfigurasi dan dijalankan
- Visual Studio 2013 atau yang lebih baru
Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif
Bagian ini menunjukkan cara mendaftarkan Aplikasi Asli sebagai klien publik dan API Web sebagai Pihak Yang Mengandalkan (RP) di Layanan Federasi Direktori Aktif
Di Manajemen Layanan Federasi Direktori Aktif, klik kanan pada Grup Aplikasi dan pilih Tambahkan Grup Aplikasi.
Pada Wizard Grup Aplikasi, untuk Nama masukkan NativeAppToWebApi dan di bawah Aplikasi Client-Server pilih aplikasi Asli yang mengakses templat API Web. Klik Berikutnya.
Salin nilai Pengidentifikasi Klien. Ini akan digunakan nanti sebagai nilai untuk ClientId dalam file App.config aplikasi. Masukkan yang berikut ini untuk URI Pengalihan:https://ToDoListClient. Klik Tambahkan. Klik Berikutnya.
Pada layar KonfigurasiKAN API Web, masukkan Pengidentifikasi:https://localhost:44321/. Klik Tambahkan. Klik Berikutnya. Nilai ini akan digunakan nanti dalam file App.config dan Web.config aplikasi.
Pada layar Terapkan Kebijakan Kontrol Akses, pilih Izinkan semua orang dan klik Berikutnya.
Pada layar Konfigurasikan Izin Aplikasi, pastikan openid dipilih dan klik Berikutnya.
Pada layar Ringkasan, klik Berikutnya.
Pada layar Selesai, klik Tutup.
Di Manajemen Layanan Federasi Direktori Aktif, klik Grup Aplikasi dan pilih Grup aplikasi NativeAppToWebApi . Klik kanan dan pilih Properti.
Pada layar properti NativeAppToWebApi, pilih NativeAppToWebApi – Web API di bawah API Web dan klik Edit...
Pada layar NativeAppToWebApi – Properti API Web, pilih tab Aturan Transformasi Penerbitan dan klik Tambahkan Aturan...
Pada Wizard Tambahkan Aturan Klaim Transformasi, pilih Ubah Klaim Masuk dari templat aturan Klaim: dropdown dan klik Berikutnya.
Masukkan NameID di Nama aturan klaim: bidang. Pilih Nama untuk Jenis klaim masuk:, ID Nama untuk Jenis klaim keluar: dan Nama Umum untuk format ID nama keluar:. klik Selesai.
Klik OK di layar NativeAppToWebApi – Web API Properties lalu layar NativeAppToWebApi Properties.
Konfigurasi Kode
Bagian ini menunjukkan cara mengonfigurasi Aplikasi Asli untuk masuk ke pengguna dan mengambil token untuk memanggil API Web
Unduh sampel dari sini
Buka sampel menggunakan Visual Studio
Buka file App.config. Ubah yang berikut ini:
ida:Authority - enter h
ttps://[your AD FS hostname]/adfs
ida:ClientId - masukkan nilai Pengidentifikasi Klien dari #3 di bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif di atas.
ida:RedirectUri - masukkan nilai URI Pengalihan dari #3 di Bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif di atas.
todo:TodoListResourceId – masukkan nilai Pengidentifikasi dari #4 di Pendaftaran Aplikasi di bagian Layanan Federasi Direktori Aktif di atas
ida: todo:TodoListBaseAddress - masukkan nilai Pengidentifikasi dari #4 di bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif di atas.
Buka file Web.config. Ubah yang berikut ini:
ida:Audience - masukkan nilai Pengidentifikasi dari #4 di bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif di atas
ida: AdfsMetadataEndpoint - enter
https://[your AD FS hostname]/federationmetadata/2007-06/federationmetadata.xml
Uji sampel
Bagian ini menunjukkan cara menguji sampel yang dikonfigurasi di atas.
Setelah perubahan kode dibuat, bangun kembali solusi
Di Visual Studio, klik kanan pada solusi dan pilih Atur Proyek StartUp...
Pada halaman Properti pastikan Tindakan diatur ke Mulai untuk setiap Proyek
Di bagian atas Visual Studio, klik panah hijau.
Pada layar Utama Aplikasi Asli, klik Masuk.
Jika Anda tidak melihat layar aplikasi asli, cari dan hapus *msalcache.bin
file dari folder tempat repositori proyek disimpan di sistem Anda.
Anda akan diarahkan kembali ke halaman masuk Layanan Federasi Direktori Aktif. Lanjutkan dan masuk.
Setelah masuk, masukkan teks Build Native App to Web Api di item Buat yang Harus Dilakukan. Klik Tambahkan item. Ini akan memanggil Layanan Daftar Yang Harus Dilakukan (API Web) dan menambahkan item di cache.
Langkah berikutnya
Alur Koneksi/OAuth OpenID Layanan Federasi Direktori Aktif dan Skenario Aplikasi