Mulai cepat: Memasukkan pengguna dan memanggil API web dalam contoh aplikasi seluler

Berlaku untuk: Lingkaran hijau dengan simbol tanda centang putih yang menunjukkan konten berikut berlaku untuk penyewa eksternal. 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.

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

  • Studio Android.

  • 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

Untuk menentukan jenis aplikasi ke pendaftaran aplikasi Anda, ikuti langkah-langkah berikut:

  1. Di bawah Kelola, pilih Autentikasi .
  2. Pada halaman konfigurasi Platform, pilih Tambahkan platform, lalu pilih opsi Android.
  3. Masukkan Nama Paket proyek Anda. Jika Anda mengunduh kode sampel ,maka nilai ini adalah com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. 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.
  5. Masukkan hash Tanda Tangan yang dihasilkan oleh KeyTool.
  6. Pilih Konfigurasikan.
  7. Salin Konfigurasi MSAL dari panel konfigurasi Android dan simpan untuk konfigurasi aplikasi selanjutnya.
  8. Pilih Selesai.

Mengaktifkan alur klien publik

Untuk mengidentifikasi aplikasi Anda sebagai klien publik, ikuti langkah-langkah berikut:

  1. Di bawah Kelola, pilih Autentikasi .

  2. Pada Pengaturan tingkat lanjut, untuk Izinkan alur klien publik, pilih Ya.

  3. 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:

  1. Dari halaman Pendaftaran aplikasi, pilih aplikasi yang Anda buat (seperti ciam-client-app) untuk membuka halaman Gambaran Umum.

  2. Di bawah Kelola, pilih izin API .

  3. Di bawah Izin yang dikonfigurasi, pilih Tambahkan izin.

  4. Pilih tab API yang digunakan organisasi saya.

  5. Dalam daftar API, pilih API seperti ciam-ToDoList-api.

  6. Pilih opsi izin yang didelegasikan.

  7. Dari daftar izin, pilih ToDoList.Read, ToDoList.ReadWrite (gunakan kotak pencarian jika perlu).

  8. Pilih tombol Tambahkan izin.

  9. 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:

    1. Pilih Berikan persetujuan admin untuk <nama penyewa Anda>, lalu pilih Ya.

    2. Pilih Refresh, lalu verifikasi bahwa Diberikan kepada <nama penyewa Anda> muncul di bawah Status untuk kedua izin tersebut.

  10. 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} atau api://{clientId}/{ToDoList.ReadWrite}.

Mengkloning aplikasi seluler sampel

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

Untuk mengaktifkan autentikasi dan akses ke sumber daya API web, konfigurasikan sampel dengan mengikuti langkah-langkah berikut:

  1. Di Android Studio, buka proyek yang Anda kloning.

  2. Buka file /app/src/main/res/raw/auth_config_ciam.json.

  3. Temukan penanda sementara

    • Enter_the_Application_Id_Here dan ganti dengan ID (klien) Aplikasi dari aplikasi yang Anda daftarkan sebelumnya.
    • Enter_the_Redirect_Uri_Here dan 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_Here dan ganti dengan subdomain Direktori (penyewa/tenant). Misalnya, jika domain utama penyewa Anda contoso.onmicrosoft.com, gunakan contoso. Jika Anda tidak mengetahui subdomain penyewa Anda, pelajari cara membaca detail penyewa Anda.
  4. Buka file /app/src/main/AndroidManifest.xml.

  5. Temukan penanda sementara

    • ENTER_YOUR_SIGNATURE_HASH_HERE dan ganti dengan Signature Hash yang Anda buat sebelumnya ketika Anda menambahkan URL pengalihan platform.
  6. Buka file /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.

  7. Temukan properti bernama WEB_API_BASE_URL dan atur URL ke API web Anda.

  8. Temukan properti bernama scopes dan 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

Untuk membuat dan menjalankan aplikasi Anda, ikuti langkah-langkah berikut:

  1. Di toolbar, pilih aplikasi Anda dari menu konfigurasi eksekusi.

  2. 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.

  3. Pilih tombol Jalankan.

  4. Pilih Memperoleh Token secara interaktif untuk meminta token akses.

  5. 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.