Skenario: Aplikasi Web (Aplikasi Server) memanggil API Web
Berlaku untuk: Windows Server 2022, Windows Server 2019, AD FS 2019 dan yang lebih baru
Pelajari cara membuat pengguna masuk aplikasi web yang diautentikasi oleh AD FS 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 Web (Aplikasi Server), yang karenanya dapat memasukkan pengguna dan memanggil API web. Dari Aplikasi Web, untuk memanggil API Web, gunakan metode akuisisi token AcquireTokenByAuthorizationCode MSAL. Anda menggunakan alur kode Otorisasi, menyimpan token yang diperoleh dalam cache token. Kemudian pengontrol memperoleh token secara diam-diam dari cache saat diperlukan. MSAL menyegarkan token jika diperlukan.
Web Apps yang memanggil API Web:
- adalah aplikasi klien rahasia.
- mendaftarkan rahasia (rahasia bersama aplikasi, sertifikat, atau akun AD) dengan Layanan Federasi Direktori Aktif. Rahasia ini diteruskan selama panggilan ke Layanan Federasi Direktori Aktif untuk mendapatkan token.
Untuk mendaftarkan Aplikasi Web di Layanan Federasi Direktori Aktif dan mengonfigurasinya untuk memperoleh token untuk memanggil API Web, 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 Web sebagai klien rahasia dan API Web sebagai Pihak Yang Mengandalkan (RP) di Layanan Federasi Direktori Aktif.
Di Manajemen AD FS, klik kanan pada Grup Aplikasi dan pilih Tambahkan Grup Aplikasi.
Pada Wizard Grup Aplikasi, untuk Nama masukkan WebAppToWebApi dan di bawah Aplikasi Client-Server pilih aplikasi Server yang mengakses templat API Web. Klik Berikutnya.
Salin nilai Pengidentifikasi Klien. Nilai digunakan nanti sebagai nilai untuk ida:ClientId dalam file Web.config aplikasi. Masukkan yang berikut ini untuk URI Pengalihan: - https://localhost:44326. Klik Tambahkan. Klik Berikutnya.
Pada layar Konfigurasikan Kredensial Aplikasi, tempatkan check-in Hasilkan rahasia bersama dan salin rahasia. Rahasia ini digunakan nanti sebagai nilai untuk ida:ClientSecret dalam file web.config aplikasi. Klik Berikutnya.
Pada layar KonfigurasiKAN API Web, masukkan Pengidentifikasi:https://webapi. Klik Tambahkan. Klik Berikutnya. Nilai ini digunakan nanti untuk ida:GraphResourceId dalam file Web.config aplikasi.
Pada layar Terapkan Kebijakan Kontrol Akses, pilih Izinkan semua orang dan klik Berikutnya.
Pada layar Konfigurasikan Izin Aplikasi, pastikan openid dan user_impersonation dipilih dan klik Berikutnya.
Pada layar Ringkasan, klik Berikutnya.
Pada layar Selesai, klik Tutup.
Konfigurasi Kode
Bagian ini menunjukkan cara mengonfigurasi ASP.NET Web App untuk masuk ke pengguna dan mengambil token untuk memanggil API Web
Unduh sampel dari sini
Buka sampel menggunakan Visual Studio
Buka file web.config. Ubah yang berikut ini:
ida:ClientId
- masukkan nilai Pengidentifikasi Klien dari #3 di bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif.ida:ClientSecret
- masukkan nilai Rahasia dari #4 di bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif.ida:RedirectUri
- masukkan nilai URI Pengalihan dari #3 di bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif.ida:Authority
- masukkan https://[nama host LAYANAN Federasi Direktori Aktif Anda]/adfs. Misalnya, https://adfs.contoso.com/adfsida:Resource
- masukkan nilai Pengidentifikasi dari #5 di bagian Pendaftaran Aplikasi di Layanan Federasi Direktori Aktif.
Uji sampel
Bagian ini menunjukkan cara menguji sampel yang dikonfigurasi.
Setelah perubahan kode dibuat, bangun kembali solusi.
Di bagian atas Visual Studio, pastikan Internet Explorer dipilih dan klik panah hijau.
Pada Halaman Beranda, klik Masuk.
Anda akan diarahkan kembali ke halaman masuk Layanan Federasi Direktori Aktif. Lanjutkan dan masuk.
Setelah masuk, klik Token Akses.
Mengklik Token Akses mendapatkan info token akses dengan memanggil API Web.
Langkah berikutnya
Alur Koneksi/OAuth OpenID Layanan Federasi Direktori Aktif dan Skenario Aplikasi