Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menggunakan Azure Functions untuk membangun layanan akses pengguna tepercaya.
Important
Titik akhir yang dibuat dalam tutorial ini tidak aman. Pastikan untuk membaca tentang detail keamanan di artikel keamanan Azure Functions . Anda perlu menambahkan keamanan ke titik akhir untuk memastikan bahwa pelaku jahat tidak dapat menyediakan token.
Artikel ini menjelaskan cara:
- Siapkan fungsi.
- Hasilkan token akses.
- Uji fungsi .
- Sebarkan dan jalankan fungsi.
Mengunduh kode
Temukan kode final untuk panduan memulai cepat ini di GitHub.
Prerequisites
- Akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun secara gratis.
- Visual Studio Code di salah satu platform yang didukung.
-
Node.js, versi LTS Aktif dan LTS Pemeliharaan (direkomendasikan 10.14.1). Gunakan perintah
node --versionuntuk memeriksa versi Anda. - Ekstensi Azure Functions untuk Visual Studio Code.
- Sumber daya Layanan Komunikasi yang aktif dan string koneksi. Untuk informasi selengkapnya, lihat Panduan Memulai Cepat: Membuat dan Mengelola Sumber Daya Communication Services.
Overview
Untuk tutorial ini, Anda membuat aplikasi fungsi yang berfungsi sebagai layanan provisi token tepercaya. Anda dapat menggunakan tutorial ini untuk membangun layanan penyediaan token Anda sendiri.
Layanan ini bertanggung jawab untuk mengautentikasi pengguna ke Communication Services. Pengguna aplikasi Communication Services Anda memerlukan token akses untuk berpartisipasi dalam utas obrolan dan panggilan VoIP. Fungsi ini berfungsi sebagai perantara tepercaya antara pengguna dan Communication Services. Anda dapat menyediakan token akses tanpa mengekspos string koneksi sumber daya Anda kepada pengguna Anda.
Untuk informasi selengkapnya, lihat arsitektur klien-server serta dokumentasi konseptual autentikasi dan otorisasi.
Menyetel fungsi
Bagian ini menjelaskan prosedur untuk menyiapkan fungsi.
Penyiapan Azure Functions
Mari kita pertama-tama siapkan struktur dasar untuk fungsi tersebut. Untuk instruksi langkah demi langkah untuk penyiapan, lihat Mulai Cepat: Membuat fungsi C# di Azure dengan menggunakan Visual Studio Code.
Fungsi ini memerlukan konfigurasi berikut:
- Bahasa: JavaScript
- Template: Pemicu HTTP
- Tingkat Otorisasi: Anonim (jika Anda lebih suka model otorisasi yang berbeda, Anda dapat mengalihkannya nanti)
- Nama Fungsi: Ditentukan pengguna
Setelah Anda mengikuti instruksi di Mulai Cepat: Membuat fungsi C# di Azure dengan menggunakan Visual Studio Code dengan konfigurasi sebelumnya, Anda harus memiliki proyek di Visual Studio Code untuk fungsi dengan index.js file yang berisi fungsi itu sendiri. Kode berikut di dalam file harus:
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
const name = (req.query.name || (req.body && req.body.name));
const responseMessage = name
? "Hello, " + name + ". This HTTP triggered function executed successfully."
: "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
context.res = {
// status: 200, /* Defaults to 200 */
body: responseMessage
};
}
Langkah selanjutnya adalah menginstal pustaka Communication Services.
Menginstal pustaka Layanan Komunikasi
Anda menggunakan Identity pustaka untuk menghasilkan token akses pengguna.
Gunakan perintah npm install untuk menginstal SDK Identitas Communication Services untuk JavaScript.
npm install @azure/communication-identity --save
Opsi --save mencantumkan pustaka sebagai dependensi di file package.json Anda.
Di bagian atas file index.js, impor antarmuka untuk parameter CommunicationIdentityClient.
const { CommunicationIdentityClient } = require('@azure/communication-identity');
Hasilkan token akses
Untuk memungkinkan fungsi Anda menghasilkan token akses pengguna, Anda harus terlebih dahulu menggunakan string koneksi untuk sumber daya Communication Services Anda.
Untuk informasi selengkapnya tentang cara mengambil string koneksi Anda, lihat Panduan Cepat: Membuat dan mengelola sumber daya Communication Services.
const connectionString = 'INSERT YOUR RESOURCE CONNECTION STRING'
Selanjutnya, Anda mengubah fungsi asli untuk menghasilkan token akses pengguna.
Untuk menghasilkan token akses pengguna, gunakan createUser metode untuk membuat pengguna. Setelah pengguna dibuat, gunakan metode getToken untuk menghasilkan token untuk pengguna tersebut, yang dikembalikan oleh fungsi.
Untuk contoh ini, Anda mengonfigurasi cakupan token ke voip. Cakupan lain mungkin diperlukan untuk aplikasi Anda. Untuk mempelajari selengkapnya tentang cakupan, lihat Membuat dan mengelola token akses.
module.exports = async function (context, req) {
let tokenClient = new CommunicationIdentityClient(connectionString);
const user = await tokenClient.createUser();
const userToken = await tokenClient.getToken(user, ["voip"]);
context.res = {
body: userToken
};
}
Untuk parameter Communication Services CommunicationUser yang ada, Anda dapat melewati langkah pembuatan dan menghasilkan token akses. Untuk informasi selengkapnya, lihat Membuat dan mengelola token akses.
Uji fungsi
Jalankan fungsi secara lokal dengan menggunakan F5. Tindakan ini menginisialisasi fungsi secara lokal dan membuatnya dapat diakses melalui http://localhost:7071/api/FUNCTION_NAME. Untuk informasi selengkapnya tentang menjalankan secara lokal, lihat Mulai Cepat: Membuat fungsi C# di Azure dengan menggunakan Visual Studio Code.
Buka URL di browser Anda dan Anda melihat isi respons dengan ID Pengguna Komunikasi, token, dan kedaluwarsa untuk token.
Terapkan fungsi ke Azure
Untuk menyebarkan fungsi Anda, ikuti instruksi langkah demi langkah di Mulai Cepat: Membuat fungsi C# di Azure dengan menggunakan Visual Studio Code.
Singkatnya, Anda perlu:
- Masuk ke Azure dari Visual Studio.
- Menerbitkan proyek ke akun Azure Anda. Di sini Anda perlu memilih langganan yang sudah ada.
- Buat sumber daya fungsi baru dengan menggunakan wizard Visual Studio atau sumber daya yang sudah ada. Untuk sumber daya baru, Anda perlu mengonfigurasinya sesuai dengan wilayah, waktu proses, dan pengidentifikasi unik yang Anda inginkan.
- Tunggu hingga proses deployment selesai.
- Jalankan fungsi .
Jalankan fungsi
Jalankan fungsi dengan menggunakan URL http://<function-appn-ame>.azurewebsites.net/api/<function-name>.
Untuk menemukan URL, klik kanan fungsi di Visual Studio Code dan salin URL fungsi.
Untuk informasi selengkapnya tentang cara menjalankan fungsi Anda, lihat Mulai Cepat: Membuat fungsi C# di Azure dengan menggunakan Visual Studio Code.
Mengamankan titik akhir
Sebagai bagian dari menyiapkan layanan tepercaya untuk menyediakan token akses bagi pengguna, Anda perlu mempertimbangkan keamanan titik akhir tersebut untuk memastikan bahwa tidak ada aktor jahat yang dapat membuat token secara acak untuk layanan Anda. Azure Functions menyediakan fitur keamanan bawaan yang dapat Anda gunakan untuk mengamankan titik akhir dengan menggunakan berbagai jenis kebijakan autentikasi. Untuk informasi selengkapnya, lihat Keamanan Azure Functions.
Membersihkan sumber daya
Jika Anda ingin membersihkan dan menghapus langganan Azure Communication Services, Anda dapat menghapus grup sumber daya atau sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya. Anda dapat mengetahui selengkapnya tentang cara membersihkan sumber daya Communication Service dan membersihkan sumber daya Azure Functions.