Bagikan melalui


Memasukkan pengguna dan memanggil API web yang dilindungi dalam contoh aplikasi Android (Kotlin)

Panduan ini menunjukkan cara mengonfigurasi contoh aplikasi seluler Android untuk memasukkan pengguna, dan memanggil API web ASP.NET Core.

Dalam artikel ini, Anda melakukan tugas berikut:

  • Daftarkan aplikasi di pusat admin Microsoft Entra.
  • Tambahkan URL pengalihan platform.
  • 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 Studio.

  • Penyewa eksternal. Jika Anda belum memilikinya, daftar untuk uji coba gratis.

  • Pendaftaran API 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 dalam contoh aplikasi seluler Android agar memiliki API web ASP.NET Core yang dilindungi fungsional. Pastikan Anda menyelesaikan langkah-langkah berikut:

    • Mendaftarkan aplikasi API web
    • Mengonfigurasi cakupan API
    • Mengonfigurasi peran aplikasi
    • Konfigurasikan klaim opsional
    • Mengkloning atau mengunduh sampel API web
    • Mengonfigurasi dan menjalankan contoh API web

Daftarkan aplikasi

Untuk mengaktifkan aplikasi Anda untuk memasukkan pengguna dengan Microsoft Entra, MICROSOFT Entra External ID harus mengetahui aplikasi yang Anda buat. Pendaftaran aplikasi membangun hubungan kepercayaan antara aplikasi dan Microsoft Entra. Saat Anda mendaftarkan aplikasi, ID Eksternal menghasilkan pengidentifikasi unik yang dikenal sebagai ID Aplikasi (klien), nilai yang digunakan untuk mengidentifikasi aplikasi Anda saat membuat permintaan autentikasi.

Langkah-langkah berikut menunjukkan cara mendaftarkan aplikasi Anda di pusat admin Microsoft Entra:

  1. Masuk ke pusat admin Microsoft Entra setidaknya sebagai Pengembang Aplikasi.

  2. Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa eksternal Anda dari menu Direktori + langganan.

  3. Telusuri Aplikasi >Identitas>Pendaftaran aplikasi.

  4. Pilih + Pendaftaran baru.

  5. Di halaman Daftarkan aplikasi yang muncul;

    1. Masukkan Nama aplikasi yang bermakna yang ditampilkan kepada pengguna aplikasi, misalnya ciam-client-app.
    2. Di bawah Jenis akun yang didukung, pilih Hanya akun dalam direktori organisasi ini.
  6. Pilih Daftarkan.

  7. Panel Gambaran Umum aplikasi ditampilkan setelah pendaftaran berhasil. Rekam ID Aplikasi (klien) yang akan digunakan dalam kode sumber aplikasi Anda.

Menambahkan URL pengalihan platform

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

  1. Di bagian Kelola, pilih Autentikasi.
  2. Pada halaman Konfigurasi platform , pilih Tambahkan platform, lalu pilih opsi Android .
  3. Masukkan Nama Paket proyek. Jika Anda mengunduh kode sampel, nilai ini adalah com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. Di bagian Hash tanda tangan di panel Konfigurasikan aplikasi Android Anda, pilih Membuat Hash Tanda Tangan pengembangan. Ini akan berubah untuk setiap 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 nanti.
  8. Pilih Selesai.

Mengaktifkan alur klien publik

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

  1. Di bagian Kelola, pilih Autentikasi.

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

  3. Pilih Simpan untuk menerapkan perubahan.

Setelah Anda mendaftarkan aplikasi, aplikasi akan diberi izin User.Read . Namun, karena penyewa adalah penyewa eksternal, pengguna pelanggan itu sendiri tidak dapat menyetujui izin ini. Anda sebagai admin harus menyetujui izin ini atas nama semua pengguna di penyewa:

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

  2. Di bagian Kelola, pilih Izin API.

    1. Pilih Berikan persetujuan admin untuk <nama> penyewa Anda, lalu pilih Ya.
    2. Pilih Refresh, lalu verifikasi bahwa Diberikan untuk <nama> penyewa Anda muncul di bawah Status untuk izin tersebut.

Memberikan izin API web ke aplikasi sampel Android

Setelah mendaftarkan aplikasi klien dan API web dan 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 Umumnya.

  2. Di bagian Kelola, pilih Izin API.

  3. Di 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 akses.

  9. Pada titik ini, Anda telah menetapkan izin dengan benar. Namun, karena penyewa adalah penyewa pelanggan, pengguna konsumen itu sendiri tidak dapat menyetujui 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 untuk <nama> penyewa Anda muncul di bawah Status untuk kedua izin.

  10. Dari daftar Izin yang dikonfigurasi, pilih izin ToDoList.Read dan ToDoList.ReadWrite, satu per satu, lalu 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 Android 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 tempat penampung:

    • Enter_the_Application_Id_Here dan ganti dengan ID Aplikasi (klien) aplikasi yang Anda daftarkan sebelumnya.
    • Enter_the_Redirect_Uri_Here dan ganti dengan nilai 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). Misalnya, jika domain utama penyewa Anda adalah 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 tempat penampung:

    • ENTER_YOUR_SIGNATURE_HASH_HERE dan ganti dengan Hash Tanda Tangan yang Anda buat sebelumnya saat 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.

Menjalankan dan menguji sampel aplikasi seluler Android

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