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.
Berlaku untuk: Penyewa Tenaga Kerja
Penyewa eksternal (pelajari selengkapnya)
Dalam mulai cepat ini, Anda menggunakan contoh aplikasi web untuk menunjukkan kepada Anda cara melindungi API web ASP.NET dengan menggunakan platform identitas Microsoft. Sampel menggunakan Microsoft Authentication Library (MSAL) untuk menangani autentikasi dan otorisasi.
Prasyarat
- Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
- Daftarkan aplikasi baru di pusat admin Microsoft Entra dan rekam pengidentifikasinya dari halaman Gambaran Umum aplikasi. Untuk informasi selengkapnya, lihat Mendaftarkan aplikasi.
- Nama: NewWebAPI1
- Jenis akun yang didukung: Akun dalam direktori organisasi ini saja (Penyewa tunggal)
- Visual Studio 2022. Unduh Visual Studio secara gratis.
Memperkenalkan API
Setelah API terdaftar, Anda dapat mengonfigurasi izinnya dengan menentukan cakupan yang diekspos API ke aplikasi klien. Aplikasi klien meminta izin untuk melakukan operasi dengan meneruskan token akses bersama dengan permintaannya ke API web yang dilindungi. API web kemudian melakukan operasi yang diminta hanya jika token akses yang diterimanya berisi cakupan yang diperlukan.
Di bawah Kelola, pilih Ekspos API>Tambahkan cakupan. Terima URI ID Aplikasi yang diusulkan (
api://{clientId}
) dengan memilih Simpan dan lanjutkan, lalu masukkan informasi berikut:- Untuk Nama cakupan, masukkan
access_as_user
. - Untuk Siapa yang dapat menyetujui, pastikan bahwa opsi Admin dan pengguna dipilih.
- Dalam kotak Nama tampilan persetujuan admin , masukkan
Access TodoListService as a user
. - Dalam kotak Deskripsi persetujuan admin , masukkan
Accesses the TodoListService web API as a user
. - Dalam kotak Nama tampilan persetujuan pengguna , masukkan
Access TodoListService as a user
. - Dalam kotak Deskripsi persetujuan pengguna , masukkan
Accesses the TodoListService web API as a user
. - Untuk Status, tetap Aktifkan.
- Untuk Nama cakupan, masukkan
Pilih Tambahkan cakupan.
Mengkloning atau mengunduh aplikasi sampel
Untuk mendapatkan aplikasi sampel, Anda dapat mengkloningnya dari GitHub atau mengunduhnya sebagai file .zip .
git clone https://github.com/AzureADQuickStarts/AppModelv2-NativeClient-DotNet.git
Petunjuk / Saran
Untuk menghindari kesalahan yang disebabkan oleh keterbatasan panjang jalur di Windows, kami sarankan mengekstrak arsip atau mengkloning repositori ke direktori di dekat akar drive Anda.
Mengonfigurasi aplikasi sampel
Konfigurasikan sampel kode agar sesuai dengan API web terdaftar.
Buka solusi di Visual Studio, lalu buka file appsettings.json di bawah akar proyek TodoListService.
Ganti nilai
Enter_the_Application_Id_here
dengan nilai ID Klien (ID Aplikasi) dari aplikasi yang Anda daftarkan di portal Pendaftaran Aplikasi baik pada propertiClientID
maupunAudience
.
Menambahkan cakupan baru ke file app.config
Untuk menambahkan cakupan baru ke file app.config TodoListClient, ikuti langkah-langkah berikut:
Di folder akar proyek TodoListClient, buka file app.config .
Tempelkan ID Aplikasi dari aplikasi yang Anda daftarkan untuk proyek TodoListService Anda di parameter
TodoListServiceScope
, menggantikan string{Enter the Application ID of your TodoListService from the app registration portal}
.
Nota
Pastikan ID Aplikasi menggunakan format berikut: api://{TodoListService-Application-ID}/access_as_user
(di mana {TodoListService-Application-ID}
adalah GUID yang mewakili ID Aplikasi untuk aplikasi TodoListService Anda).
Mendaftarkan aplikasi web (TodoListClient)
Daftarkan aplikasi TodoListClient Anda di Pendaftaran aplikasi di pusat admin Microsoft Entra, lalu konfigurasikan kode dalam proyek TodoListClient. Jika klien dan server dianggap sebagai aplikasi yang sama, Anda dapat menggunakan kembali aplikasi yang terdaftar di langkah 2. Gunakan aplikasi yang sama jika Anda ingin pengguna masuk dengan akun Microsoft pribadi.
Mendaftarkan aplikasi
Untuk mendaftarkan aplikasi TodoListClient, ikuti langkah-langkah berikut:
Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
Telusuri pendaftaranAplikasiEntra ID> dan pilih Pendaftaran baru.
Pilih Pendaftaran baru.
Saat halaman Daftarkan aplikasi terbuka, masukkan informasi pendaftaran aplikasi Anda:
- Di bagian Nama , masukkan nama aplikasi yang bermakna yang akan ditampilkan kepada pengguna aplikasi (misalnya, NativeClient-DotNet-TodoListClient).
- Untuk Jenis akun yang didukung, pilih Akun di direktori organisasi apa pun.
- Pilih Daftar untuk membuat aplikasi.
Nota
Dalam file app.config proyek TodoListClient, nilai
ida:Tenant
default diatur kecommon
. Nilai yang mungkin adalah:-
common
: Anda dapat masuk dengan menggunakan akun kerja atau sekolah atau akun Microsoft pribadi (karena Anda memilih Akun di direktori organisasi mana pun di langkah sebelumnya). -
organizations
: Anda dapat masuk dengan menggunakan akun kerja atau sekolah. -
consumers
: Anda hanya dapat masuk dengan menggunakan akun pribadi Microsoft.
Pada halaman Gambaran Umum aplikasi, pilih Autentikasi, lalu selesaikan langkah-langkah ini untuk menambahkan platform:
- Di bawah Konfigurasi platform, pilih tombol Tambahkan platform .
- Untuk Aplikasi seluler dan desktop, pilih Aplikasi seluler dan desktop.
- Untuk URI Pengalihan, pilih kotak
https://login.microsoftonline.com/common/oauth2/nativeclient
centang. - Pilih Konfigurasikan.
Pilih izin API , lalu selesaikan langkah-langkah ini untuk menambahkan izin:
- Pilih tombol Tambahkan izin .
- Pilih tab API Saya .
- Dalam daftar API, pilih AppModelv2-NativeClient-DotNet-TodoListService API atau nama yang Anda masukkan untuk API web.
- Pilih kotak centang izin access_as_user jika belum dipilih. Gunakan kotak Pencarian jika perlu.
- Pilih tombol Tambahkan izin .
Konfigurasikan proyek Anda
Konfigurasikan proyek TodoListClient Anda dengan menambahkan ID Aplikasi ke file app.config .
Di portal Pendaftaran aplikasi, pada halaman Gambaran Umum, salin nilai ID Aplikasi (klien).
Dari folder akar proyek TodoListClient, buka file app.config , lalu tempelkan nilai ID Aplikasi dalam
ida:ClientId
parameter .
Jalankan aplikasi sampel
Mulai kedua proyek. Untuk pengguna Visual Studio;
Klik kanan pada solusi Visual Studio dan pilih properti
Di Properti Umum, pilih Proyek Startup lalu Beberapa proyek startup.
Untuk kedua proyek, pilih Mulai sebagai tindakan
Pastikan layanan TodoListService dimulai terlebih dahulu dengan memindahkannya ke posisi pertama dalam daftar, menggunakan panah atas.
Masuk untuk menjalankan proyek TodoListClient Anda.
Tekan F5 untuk memulai proyek. Halaman layanan serta aplikasi desktop terbuka.
Di TodoListClient, di kanan atas, pilih Masuk, lalu masuk dengan kredensial yang sama dengan yang Anda gunakan untuk mendaftarkan aplikasi Anda, atau masuk sebagai pengguna di direktori yang sama.
Jika Anda masuk untuk pertama kalinya, Anda mungkin diminta untuk menyetujui API web TodoListService.
Untuk membantu Anda mengakses API web TodoListService serta memanipulasi daftar Tugas, proses masuk juga meminta token akses untuk ruang lingkup access_as_user.
Pra-otorisasi aplikasi klien Anda
Anda dapat mengizinkan pengguna dari direktori lain mengakses API web Anda dengan melakukan pra-otorisasi aplikasi klien untuk mengakses API web Anda. Anda melakukan ini dengan menambahkan ID Aplikasi dari aplikasi klien ke daftar aplikasi yang telah diotorisasi untuk API web Anda. Dengan menambahkan klien yang diotorisasi sebelumnya, Anda mengizinkan pengguna untuk mengakses API web Anda tanpa harus memberikan persetujuan.
- Di dalam portal Pendaftaran aplikasi , buka properti aplikasi TodoListService Anda.
- Di bagian Mengekspos API , di bawah Aplikasi klien resmi, pilih Tambahkan aplikasi klien.
- Dalam kotak ID Klien , tempelkan ID Aplikasi dari aplikasi TodoListClient.
- Di bagian Cakupan resmi , pilih cakupan untuk
api://<Application ID>/access_as_user
API web. - Pilih Tambahkan aplikasi.
Jalankan proyek Anda
- Tekan F5 untuk menjalankan proyek Anda. Aplikasi TodoListClient Anda terbuka.
- Di kanan atas, pilih Masuk, lalu masuk dengan menggunakan akun Microsoft pribadi, seperti akun live.com atau hotmail.com , atau akun kantor atau sekolah.
Opsional: Membatasi akses masuk ke pengguna tertentu
Secara default, akun pribadi apa pun, seperti akun outlook.com atau live.com , atau akun kantor atau sekolah dari organisasi yang terintegrasi dengan ID Microsoft Entra dapat meminta token dan mengakses API web Anda.
Untuk menentukan siapa yang dapat masuk ke aplikasi Anda, dengan mengubah TenantId
properti dalam file appsettings.json .
Langkah selanjutnya
Pelajari cara melindungi API web ASP.NET Core dengan platform identitas Microsoft.