Bagikan melalui


Menambahkan autentikasi ke aplikasi Apache Cordova Anda

Dalam tutorial ini, Anda menambahkan autentikasi Microsoft ke proyek mulai cepat menggunakan ID Microsoft Entra. Sebelum menyelesaikan tutorial ini, pastikan Anda telah membuat proyek dan mengaktifkan sinkronisasi luring.

Mengonfigurasi backend Anda untuk autentikasi

Untuk mengonfigurasi backend untuk autentikasi, Anda harus:

  • Membuat pendaftaran aplikasi.
  • Mengonfigurasi Autentikasi dan Otorisasi Azure App Service.
  • Menambahkan aplikasi Anda ke URL Pengalihan Eksternal yang Diizinkan.

Selama tutorial ini, kami akan mengonfigurasi aplikasi Anda untuk menggunakan autentikasi Microsoft. Penyewa Microsoft Entra telah dikonfigurasi secara otomatis di langganan Azure Anda. Anda dapat menggunakan ID Microsoft Entra untuk mengonfigurasi autentikasi Microsoft.

Anda memerlukan URL backend layanan Azure Mobile Apps yang disediakan saat Anda menyediakan layanan.

Membuat pendaftaran aplikasi

  1. Masuk ke portal Azure.
  2. Pilih MICROSOFT Entra ID> Pendaftaran aplikasi> Pendaftaran baru.
  3. Pada halaman Daftarkan aplikasi, masukkan zumoquickstart pada bidang Nama.
  4. Di bawah Jenis akun yang didukung, pilih Akun di direktori organisasi apa pun (Direktori Microsoft Entra apa pun - multipenyewa) dan akun Microsoft pribadi (misalnya Skype, Xbox).
  5. Di Redirect URI, pilih Web dan ketik <backend-url>/.auth/login/aad/callback . Misalnya, jika URL backend Anda adalah https://zumo-abcd1234.azurewebsites.net, maka Anda harus masukkan https://zumo-abcd1234.azurewebsites.net/.auth/login/aad/callback.
  6. Tekan tombol Daftar di bagian bawah formulir.
  7. Salin ID aplikasi (klien).
  8. Dari panel kiri, pilihSertifikat & rahasia>Rahasia klien baru.
  9. Masukkan deskripsi yang sesuai, memilih durasi validitas, lalu pilih Tambah.
  10. Salin rahasia di halaman Sertifikat & rahasia . Nilai tidak ditampilkan lagi.
  11. Pilih Autentikasi.
  12. Di bawah Pemberian implisit dan alur hibrid, aktifkanToken ID.
  13. Pilih Simpan di bagian atas halaman.

Penting

Nilai rahasia klien (kata sandi) adalah informasi masuk keamanan penting. Jangan berbagi kata sandi ini dengan siapa pun atau mendistribusikannya dalam aplikasi klien.

Mengonfigurasi Autentikasi dan Otorisasi Azure App Service

  1. Di portal Microsoft Azure, pilih Semua Sumber Daya, lalu App Service.

  2. Pilih Pengaturan>Autentikasi.

  3. Klik Tambahkan penyedia identitas .

  4. Pilih Microsoft sebagai penyedia identitas.

    • Untuk Jenis pendaftaran aplikasi, pilih Berikan detail pendaftaran aplikasi yang ada.
    • Tempelkan nilai yang Anda salin sebelumnya ke dalam kotak ID Aplikasi (klien) dan Rahasia klien.
    • Untuk URL Penerbit, masukkan https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0. URL ini adalah "url penyewa ajaib" untuk masuk ke Microsoft.
    • Untuk Membatasi akses, pilih Memerlukan autentikasi.
    • Untuk Permintaan tidak diautentikasi, pilih HTTP 401 Tidak Sah.
  5. Tekan Tambahkan.

  6. Setelah layar autentikasi kembali, tekan Edit di samping pengaturan Autentikasi.

  7. Dalam kotak URL pengalihan eksternal yang diizinkan, masukkan zumoquickstart://easyauth.callback.

  8. Tekan Simpan.

Langkah 10 mengharuskan semua pengguna diautentikasi sebelum mengakses backend Anda. Anda dapat memberikan kontrol yang lebih ketat dengan menambahkan kode ke backend Anda.

TAHUKAH ANDA? Anda juga dapat mengizinkan pengguna dengan akun organisasi di ID Microsoft Entra, Facebook, Google, Twitter, atau penyedia yang kompatibel dengan OpenID Koneksi. Ikuti petunjuk dalam dokumentasi Azure App Service.

Menguji autentikasi yang diminta

  • Jalankan aplikasi menggunakan cordova run android
  • Pastikan bahwa pengecualian yang tidak ditangani dengan kode status 401 (Tidak Sah) akan muncul setelah aplikasi dimulai.

Menambahkan autentikasi ke aplikasi

Untuk menambahkan autentikasi melalui penyedia bawaan, Anda harus:

  • Menambahkan penyedia autentikasi ke daftar sumber bagus yang dikenal.
  • Panggil penyedia autentikasi sebelum mengakses data.

Memperbarui Kebijakan Keamanan Konten

Setiap aplikasi Apache Cordova akan menyatakan sumber baik mereka yang dikenal melalui header Content-Security-Policy. Setiap penyedia yang didukung memiliki host OAuth yang perlu ditambahkan:

Penyedia Nama Penyedia SDK Host OAuth
Microsoft Entra ID Microsoft Entra ID https://login.microsoftonline.com
Facebook facebook https://www.facebook.com
Google google https://accounts.google.com
Twitter twitter https://api.twitter.com

Edit www/index.html; tambahkan host OAuth untuk MICROSOFT Entra ID sebagai berikut:

<meta http-equiv="Content-Security-Policy" content="
    default-src 'self' 
    data: gap: https://login.microsoftonline.com https://ZUMOAPPNAME.azurewebsites.net; 
    style-src 'self'; media-src *;">

Kontennya beberapa baris agar mudah dibaca. Tempatkan semua kode pada baris yang sama.

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://login.microsoftonline.com https://ZUMOAPPNAME.azurewebsites.net; style-src 'self'; media-src *;">

Anda telah mengganti ZUMOAPPNAME dengan nama aplikasi Anda.

Memanggil penyedia autentikasi

Edit www/js/index.js. Ganti metode setup() dengan kode berikut:

function setup() {
    client.login('aad').then(function () {
        // ORIGINAL CONTENTS OF FUNCTION
        todoTable = client.getSyncTable('todoitem');
        refreshDisplay();
        addItemEl.addEventListener('submit', addItemHandler);
        refreshButtonEl.addEventListener('click', refreshDisplay);
        // END OF ORIGINAL CONTENTS OF FUNCTION
    });
}

Menguji aplikasi

Jalankan perintah berikut:

cordova run android

Setelah startup awal selesai, Anda akan diminta untuk masuk dengan kredensial Microsoft Anda. Setelah selesai, Anda dapat menambahkan dan menghapus item dari daftar.

Tip

Jika emulator tidak dimulai secara otomatis, buka Android Studio, lalu pilih Konfigurasikan>Manajer AVD. Dengan ini, Anada bisa memulai perangkat secara manual. Jika menjalankan adb devices -l, Anda akan melihat perangkat emulasi yang dipilih.

Menghapus sumber daya

Sekarang Anda telah menyelesaikan tutorial mulai cepat, Anda dapat menghapus sumber daya dengan az group delete -n zumo-quickstart. Anda juga dapat menghapus pendaftaran aplikasi global yang digunakan untuk autentikasi melalui portal tersebut.

Langkah berikutnya

Coba perhatikan pada bagian CARA:

Anda juga dapat melakukan Mulai Cepat untuk platform lain menggunakan layanan yang sama: