Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pelajari cara untuk membangun aplikasi web yang memungkinkan pengguna masuk, yang diautentikasi oleh AD FS 2019, dan mendapatkan token menggunakan pustaka MSAL untuk memanggil API web.
Sebelum membaca artikel ini, Anda harus terbiasa dengan konsep-konsep AD FS (Active Directory Federation Services) dan proses 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 memperbarui token jika diperlukan.
Web Apps yang memanggil API Web:
- adalah aplikasi klien rahasia.
- mendaftarkan sebuah rahasia (rahasia yang dibagikan oleh aplikasi, sertifikat, atau akun AD) dengan AD FS. Rahasia ini diteruskan saat pemanggilan ke AD FS 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 (AD FS) 2019 atau yang lebih baru sudah dikonfigurasi dan dijalankan
- Visual Studio 2013 atau yang lebih baru
Pendaftaran Aplikasi di AD FS
Bagian ini menunjukkan cara mendaftarkan Aplikasi Web sebagai klien rahasia dan API Web sebagai Relying Party (RP) di Active Directory Federation Services (AD FS).
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, beri tanda centang pada Hasilkan rahasia yang dibagikan dan salin rahasia tersebut. 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 pengguna dan mengambil token untuk mengakses 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 Registrasi Aplikasi di AD FS.ida:RedirectUri
- masukkan nilai URI Pengalihan dari #3 di bagian Pendaftaran Aplikasi di AD FS.ida:Authority
- masukkan https://[nama host AD FS Anda]/adfs. Misalnya,https://adfs.contoso.com/adfs
ida:Resource
- masukkan nilai Pengidentifikasi dari #5 di bagian Pendaftaran Aplikasi di AD FS.
Uji sampel
Bagian ini menunjukkan cara menguji sampel yang dikonfigurasi.
Setelah perubahan kode dilakukan, lakukan kompilasi ulang solusinya.
Di bagian atas Visual Studio, pastikan Internet Explorer dipilih dan klik panah hijau.
Pada Halaman Beranda, klik Masuk.
Anda akan diarahkan ke halaman masuk AD FS. Silakan masuk.
Setelah masuk, klik Token Akses.
Mengklik Token Akses mendapatkan info token akses dengan memanggil API Web.