Bagikan melalui


Memasukkan pengguna dan memanggil API web yang dilindungi di contoh aplikasi iOS (Swift)

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

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 iOS untuk menggunakan ID Eksternal Microsoft Entra Anda sendiri untuk detail penyewa pelanggan.
  • Jalankan dan uji sampel aplikasi seluler iOS.

Prasyarat

  • Xcode.

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

    • Daftarkan aplikasi API web.
    • Mengonfigurasi cakupan API.
    • Mengonfigurasi peran aplikasi.
    • Mengonfigurasi 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 iOS / macOS .
  3. Memasukkan ID Bundle proyek Anda. Jika Anda mengunduh kode sampel, nilai ini adalah com.microsoft.identitysample.ciam.MSALiOS.
  4. Pilih Konfigurasikan dan simpan Konfigurasi MSAL yang muncul di panel konfigurasi iOS/macOS sehingga Anda dapat memasukkannya saat mengonfigurasi aplikasi nanti.
  5. 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 iOS

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 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 contoh aplikasi seluler iOS

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-ios-sample.git
    

Mengonfigurasi contoh aplikasi seluler iOS

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

  1. Di Xcode, buka proyek yang Anda kloning.

  2. Buka file /MSALiOS/Configuration.swift .

  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 kRedirectUri dalam file konfigurasi Microsoft Authentication Library (MSAL) yang Anda unduh sebelumnya saat menambahkan URL pengalihan platform.
    • Enter_the_Protected_API_Full_URL_Here dan ganti dengan URL ke API web Anda. Enter_the_Protected_API_Full_URL_Here harus menyertakan URL dasar (URL API web yang disebarkan) dan titik akhir (/api/todolist) untuk API web ASP.NET kami.
    • Enter_the_Protected_API_Scopes_Here dan ganti dengan cakupan yang direkam di Berikan izin API web ke aplikasi sampel iOS.
    • 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.

Anda telah mengonfigurasi aplikasi dan siap dijalankan.

Menjalankan aplikasi sampel iOS dan memanggil API web

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

  1. Untuk membuat dan menjalankan kode Anda, pilih Jalankan dari menu Produk di Xcode. Setelah build berhasil, Xcode akan meluncurkan aplikasi sampel di Simulator.
  2. Pilih Dapatkan Token Secara Interaktif untuk meminta token akses.
  3. 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.