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 eksternal (pelajari selengkapnya)
Sebelum memulai, gunakan pengatur Pilih jenis penyewa di bagian atas halaman ini untuk memilih jenis penyewa. Microsoft Entra ID menyediakan dua konfigurasi penyewa, tenaga kerja dan eksternal. Konfigurasi tenant tenaga kerja adalah untuk karyawan, aplikasi internal, dan sumber daya organisasi lainnya. Penyewa eksternal adalah untuk aplikasi yang ditujukan untuk pelanggan Anda.
Panduan ini menunjukkan cara mengonfigurasi contoh aplikasi seluler untuk memasukkan pengguna, dan memanggil API web ASP.NET Core.
- Android
- iOS/macOS
Dalam artikel ini, Anda melakukan tugas berikut:
- Tambahkan URL pengalihan platform ke aplikasi web.
- Aktifkan alur klien publik.
- Perbarui file sampel kode konfigurasi Android untuk menggunakan ID Eksternal Microsoft Entra Anda sendiri untuk detail penyewa pelanggan.
- Jalankan dan uji sampel aplikasi seluler Android.
- Panggil API web yang dilindungi.
Prasyarat
- Android
- iOS/macOS
Penyewa eksternal. Jika Anda belum memilikinya, silakan daftarkan diri untuk uji coba gratis.
Daftarkan aplikasi web klien baru di pusat admin Microsoft Entra, dikonfigurasi untuk Akun di direktori organisasi dan akun Microsoft pribadi apa pun. Lihat Mendaftarkan aplikasi untuk detail selengkapnya. Rekam nilai berikut dari halaman Gambaran Umum aplikasi untuk digunakan nanti:
- ID Aplikasi (klien)
- ID Direktori (Penyewa)
Pendaftaran API web yang mengekspos setidaknya satu cakupan (izin yang didelegasikan) dan satu peran aplikasi (izin aplikasi) seperti ToDoList.Read. Jika Anda belum melakukannya, ikuti petunjuk untuk memanggil API di dalam aplikasi seluler Android contoh, untuk memiliki API web ASP.NET Core yang berfungsi dan terlindungi. Pastikan Anda menyelesaikan langkah-langkah berikut:
- Mengonfigurasi cakupan API
- Mengonfigurasi peran aplikasi
- Mengonfigurasi klaim opsional
- Mengkloning atau mengunduh sampel API web
- Mengonfigurasi dan menjalankan contoh API web
Menambahkan URL pengalihan platform
- Android
- iOS/macOS
Untuk menentukan jenis aplikasi ke pendaftaran aplikasi Anda, ikuti langkah-langkah berikut:
- Di bawah Kelola, pilih Autentikasi .
- Pada halaman konfigurasi Platform, pilih Tambahkan platform, lalu pilih opsi Android.
- Masukkan Nama Paket proyek Anda. Jika Anda mengunduh kode sampel ,maka nilai ini adalah
com.azuresamples.msaldelegatedandroidkotlinsampleapp. - Di bagian Hash Tanda Tangan di panel Mengonfigurasi aplikasi Android Anda, pilih Membuat Hash Tanda Tangan pengembangan. Ini akan berubah setiap kali berganti lingkungan pengembangan. Salin dan jalankan perintah KeyTool untuk sistem operasi Anda di Terminal Anda.
- Masukkan hash Tanda Tangan yang dihasilkan oleh KeyTool.
- Pilih Konfigurasikan.
- Salin Konfigurasi MSAL dari panel konfigurasi Android dan simpan untuk konfigurasi aplikasi selanjutnya.
- Pilih Selesai.
Mengaktifkan alur klien publik
Untuk mengidentifikasi aplikasi Anda sebagai klien publik, ikuti langkah-langkah berikut:
Di bawah Kelola, pilih Autentikasi .
Pada Pengaturan tingkat lanjut, untuk Izinkan alur klien publik, pilih Ya.
Pilih Simpan untuk menyimpan perubahan Anda.
Memberikan izin API web ke aplikasi sampel
Setelah mendaftarkan aplikasi klien, API web, dan Anda telah mengekspos API dengan membuat cakupan, Anda dapat mengonfigurasi izin klien ke API dengan mengikuti langkah-langkah berikut:
Dari halaman Pendaftaran aplikasi, pilih aplikasi yang Anda buat (seperti ciam-client-app) untuk membuka halaman Gambaran Umum.
Di bawah Kelola, pilih izin API .
Di bawah Izin yang dikonfigurasi, pilih Tambahkan izin.
Pilih tab API yang digunakan organisasi saya.
Dalam daftar API, pilih API seperti ciam-ToDoList-api.
Pilih opsi izin yang didelegasikan.
Dari daftar izin, pilih ToDoList.Read, ToDoList.ReadWrite (gunakan kotak pencarian jika perlu).
Pilih tombol Tambahkan izin.
Pada titik ini, Anda telah menetapkan izin dengan benar. Namun, karena penyewa tersebut adalah penyewa dari pelanggan, para pengguna konsumen sendiri tidak dapat memberikan persetujuan terhadap izin-izin ini. Untuk mengatasi hal ini, Anda sebagai admin harus menyetujui izin ini atas nama semua pengguna di penyewa:
Pilih Berikan persetujuan admin untuk <nama penyewa Anda>, lalu pilih Ya.
Pilih Refresh, lalu verifikasi bahwa Diberikan kepada <nama penyewa Anda> muncul di bawah Status untuk kedua izin tersebut.
Dari Daftar izin yang dikonfigurasi, pilih izin ToDoList.Read dan ToDoList.ReadWrite satu per satu, dan kemudian salin URI lengkap izin untuk digunakan nanti. URI izin lengkap terlihat mirip dengan
api://{clientId}/{ToDoList.Read}atauapi://{clientId}/{ToDoList.ReadWrite}.
Mengkloning aplikasi seluler sampel
- Android
- iOS/macOS
Untuk mendapatkan aplikasi sampel, Anda dapat mengkloningnya dari GitHub atau mengunduhnya sebagai file .zip.
Untuk mengkloning sampel, buka prompt perintah dan navigasi ke tempat Anda ingin membuat proyek, dan masukkan perintah berikut:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
Mengonfigurasi contoh aplikasi seluler Android
- Android
- iOS/macOS
Untuk mengaktifkan autentikasi dan akses ke sumber daya API web, konfigurasikan sampel dengan mengikuti langkah-langkah berikut:
Di Android Studio, buka proyek yang Anda kloning.
Buka file /app/src/main/res/raw/auth_config_ciam.json.
Temukan penanda sementara
-
Enter_the_Application_Id_Heredan ganti dengan ID (klien) Aplikasi dari aplikasi yang Anda daftarkan sebelumnya. -
Enter_the_Redirect_Uri_Heredan ganti dengan nilai dari redirect_uri dalam file konfigurasi Microsoft Authentication Library (MSAL) yang Anda unduh sebelumnya saat menambahkan URL pengalihan platform. -
Enter_the_Tenant_Subdomain_Heredan ganti dengan subdomain Direktori (penyewa/tenant). Misalnya, jika domain utama penyewa Andacontoso.onmicrosoft.com, gunakancontoso. Jika Anda tidak mengetahui subdomain penyewa Anda, pelajari cara membaca detail penyewa Anda.
-
Buka file /app/src/main/AndroidManifest.xml.
Temukan penanda sementara
-
ENTER_YOUR_SIGNATURE_HASH_HEREdan ganti dengan Signature Hash yang Anda buat sebelumnya ketika Anda menambahkan URL pengalihan platform.
-
Buka file /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.
Temukan properti bernama
WEB_API_BASE_URLdan atur URL ke API web Anda.Temukan properti bernama
scopesdan atur cakupan yang direkam di Berikan izin API web ke aplikasi sampel Android.private const val scopes = "" // Developers should set the respective scopes of their web API here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
Anda telah mengonfigurasi aplikasi dan siap dijalankan.
Jalankan aplikasi sampel dan panggil API web
- Android
- iOS/macOS
Untuk membuat dan menjalankan aplikasi Anda, ikuti langkah-langkah berikut:
Di toolbar, pilih aplikasi Anda dari menu konfigurasi eksekusi.
Di menu perangkat target, pilih perangkat tempat Anda ingin menjalankan aplikasi.
Jika Anda tidak memiliki perangkat apa pun yang dikonfigurasi, Anda harus membuat Perangkat Virtual Android untuk menggunakan Android Emulator atau menyambungkan perangkat Android fisik.
Pilih tombol Jalankan.
Pilih Memperoleh Token secara interaktif untuk meminta token akses.
Pilih API - Lakukan GET untuk memanggil API web ASP.NET Core yang telah disiapkan sebelumnya. Panggilan yang berhasil ke API web mengembalikan HTTP 200, sementara HTTP 403 menandakan akses yang tidak sah.