Bagikan melalui


Mengintegrasikan Azure Function

Pengantar

Tutorial ini memberikan panduan terperinci tentang cara menyiapkan Azure Function untuk menerima informasi terkait pengguna. Menyiapkan Azure Function sangat disarankan. Ini membantu menghindari parameter aplikasi hard-coding di aplikasi Contoso (seperti ID pengguna dan token pengguna). Informasi ini sangat rahasia. Yang lebih penting, kami menyegarkan token pengguna secara berkala di backend. Pengodean keras ID pengguna dan kombinasi token memerlukan pengeditan nilai setelah setiap refresh.

Prasyarat

Sebelum memulai, pastikan untuk:

  • Buat akun Azure dengan langganan aktif. Untuk detailnya, lihat Membuat akun gratis.
  • Menginstal Visual Studio Code.

Menyiapkan fungsi

  1. Instal ekstensi Azure Function di Visual Studio Code. Anda dapat menginstalnya dari browser plugin Visual Studio Code atau dengan mengikuti tautan ini
  2. Siapkan aplikasi Azure Function lokal dengan mengikuti tautan ini. Kita perlu membuat fungsi lokal menggunakan templat pemicu HTTP di JavaScript.
  3. Instal pustaka Azure Communication Services. Kami akan menggunakan Pustaka identitas untuk menghasilkan Token Akses Pengguna. Jalankan perintah penginstalan npm di direktori aplikasi Azure Function lokal Anda, untuk menginstal Azure Communication Services Identity SDK untuk JavaScript.
    npm install @azure/communication-identity --save
  1. index.js Ubah file sehingga terlihat seperti kode di bawah ini:
    const { CommunicationIdentityClient } = require('@azure/communication-identity');
    const connectionString = '<your_connection_string>'
    const acsEndpoint = "<your_ACS_endpoint>"
    
    module.exports = async function (context, req) {
        let tokenClient = new CommunicationIdentityClient(connectionString);
    
        const userIDHolder = await tokenClient.createUser();
        const userId = userIDHolder.communicationUserId
    
        const userToken = await (await tokenClient.getToken(userIDHolder, ["chat"])).token;
    
        context.res = {
            body: {
                acsEndpoint,
                userId,
                userToken
            }
        };
    }

Penjelasan untuk kode di atas: Baris pertama mengimpor antarmuka untuk CommunicationIdentityClient. string koneksi di baris kedua dapat ditemukan di sumber daya Azure Communication Services Anda di portal Azure. ACSEndpoint adalah URL sumber daya Azure Communication Services yang dibuat.

  1. Buka folder Azure Function lokal di Visual Studio Code. index.js Buka dan jalankan Azure Function lokal. Titik akhir Azure Function lokal akan dibuat dan dicetak di terminal. Pesan yang dicetak terlihat mirip dengan:
Functions:
HttpTrigger1: [GET,POST] http://localhost:7071/api/HttpTrigger1

Buka tautan di browser. Hasilnya akan mirip dengan contoh ini:

    {
      "acsEndpoint": "<Azure Function endpoint>",
      "userId": "8:acs:a636364c-c565-435d-9818-95247f8a1471_00000014-f43f-b90f-9f3b-8e3a0d00c5d9",
      "userToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOmE2MzYzNjRjLWM1NjUtNDM1ZC05ODE4LTk1MjQ3ZjhhMTQ3MV8wMDAwMDAxNC1mNDNmLWI5MGYtOWYzYi04ZTNhMGQwMGM1ZDkiLCJzY3AiOjE3OTIsImNzaSI6IjE2Njc4NjI3NjIiLCJleHAiOjE2Njc5NDkxNjIsImFjc1Njb3BlIjoiY2hhdCIsInJlc291cmNlSWQiOiJhNjM2MzY0Yy1jNTY1LTQzNWQtOTgxOC05NTI0N2Y4YTE0NzEiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY3ODYyNzYyfQ.t-WpaUUmLJaD0V2vgn3M5EKdJUQ_JnR2jnBUZq3J0zMADTnFss6TNHMIQ-Zvsumwy14T1rpw-1FMjR-zz2icxo_mcTEM6hG77gHzEgMR4ClGuE1uRN7O4-326ql5MDixczFeIvIG8s9kAeJQl8N9YjulvRkGS_JZaqMs2T8Mu7qzdIOiXxxlmcl0HeplxLaW59ICF_M4VPgUYFb4PWMRqLXWjKyQ_WhiaDC3FvhpE_Bdb5U1eQXDw793V1_CRyx9jMuOB8Ao7DzqLBQEhgNN3A9jfEvIE3gdwafpBWlQEdw-Uuf2p1_xzvr0Akf3ziWUsVXb9pxNlQQCc19ztl3MIQ"
    }
  1. Sebarkan fungsi lokal ke cloud. Detail selengkapnya dapat ditemukan dalam dokumentasi ini.

  2. Uji Azure Function yang disebarkan. Pertama, temukan Azure Function Anda di portal Azure. Kemudian, gunakan tombol "Dapatkan URL Fungsi" untuk mendapatkan titik akhir Azure Function. Hasil yang Anda lihat akan mirip dengan apa yang ditunjukkan pada langkah 5. Titik akhir Azure Function akan digunakan dalam aplikasi untuk menginisialisasi parameter aplikasi.

  3. Terapkan UserTokenClient, yang digunakan untuk memanggil sumber daya Azure Function target dan mendapatkan titik akhir Azure Communication Services, ID pengguna, dan token pengguna dari objek JSON yang dikembalikan. Lihat aplikasi sampel untuk penggunaan.

Panduan pemecahan masalah

  1. Jika ekstensi Azure Function gagal menyebarkan fungsi lokal ke cloud Azure, kemungkinan karena versi Visual Studio Code dan ekstensi Azure Function yang digunakan memiliki bug. Kombinasi versi ini telah diuji agar berfungsi: Versi Visual Studio Code dan versi 1.68.1 1.2.1ekstensi Azure Function .
  2. Tempat untuk menginisialisasi konstanta aplikasi sulit tetapi penting. Periksa kembali obrolan mulai cepat Android. Lebih khusus lagi, catatan sorotan di bagian "Siapkan konstanta aplikasi", dan bandingkan dengan aplikasi sampel versi yang Anda konsumsi.

(Opsional) mengamankan titik akhir Azure Function

Untuk tujuan demonstrasi, sampel ini menggunakan titik akhir yang dapat diakses publik secara default untuk mengambil token Azure Communication Services. Untuk skenario produksi, salah satu opsinya adalah menggunakan titik akhir aman Anda sendiri untuk menyediakan token Anda sendiri.

Dengan konfigurasi tambahan, sampel ini mendukung koneksi ke titik akhir yang dilindungi Microsoft Entra sehingga log pengguna diperlukan agar aplikasi mengambil token Azure Communication Services. Pengguna akan diminta untuk masuk dengan akun Microsoft untuk mengakses aplikasi. Penyiapan ini meningkatkan tingkat keamanan saat pengguna diperlukan untuk masuk. Tentukan apakah akan mengaktifkannya berdasarkan kasus penggunaan.

Perhatikan bahwa saat ini kami tidak mendukung ID Microsoft Entra dalam kode sampel. Ikuti tautan di bawah ini untuk mengaktifkannya di aplikasi Anda dan Azure Function:

Daftarkan aplikasi Anda di bawah ID Microsoft Entra (menggunakan pengaturan platform Android).

Konfigurasikan App Service atau aplikasi Azure Functions Anda untuk menggunakan log masuk MICROSOFT Entra ID.