إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية استخدام Azure Functions لإنشاء خدمة وصول مستخدم موثوق به.
Important
نقطة النهاية التي تم إنشاؤها في هذا البرنامج التعليمي غير آمنة. تأكد من قراءة تفاصيل الأمان في مقالة أمان Azure Functions . تحتاج إلى إضافة أمان إلى نقطة النهاية للتأكد من أن الجهات الفاعلة السيئة لا يمكنها توفير الرموز المميزة.
توضح هذه المقالة كيفية:
- إعداد دالة.
- إنشاء رموز الوصول المميزة.
- اختبار الدالة.
- توزيع الدالة وتشغيلها.
تحميل الرمز
ابحث عن التعليمات البرمجية النهائية لهذا التشغيل السريع على GitHub.
Prerequisites
- حساب Azure مع اشتراك نشط. إذا لم يكن لديك اشتراك Azure، فيمكنك إنشاء حساب مجانا.
- Visual Studio Code في واحدة من النظم الأساسية المدعومة.
-
Node.jsوإصدارات LTS النشطة وLTS للصيانة (يوصى بالإصدار 10.14.1). يمكنك استخدام أمر
node --versionللتحقق من الإصدار الخاص بك. - ملحق Azure Functions للمحرر Visual Studio Code.
- مورد "خدمات الاتصال" النشطة وسلسلة الاتصال. لمزيد من المعلومات، راجع التشغيل السريع: إنشاء موارد Communication Services وإدارتها.
Overview
لهذا البرنامج التعليمي، يمكنك إنشاء تطبيق دالة يعمل كخدمة توفير رمز مميز موثوق به. يمكنك استخدام هذا البرنامج التعليمي لبدء تحميل خدمة توفير الرمز المميز الخاص بك.
هذه الخدمة مسؤولة عن مصادقة المستخدمين على Communication Services. يحتاج مستخدمو تطبيقات Communication Services إلى رمز مميز للوصول للمشاركة في مؤشرات ترابط الدردشة ومكالمات VoIP. تعمل الدالة كوسطاء موثوق بهم بين المستخدم وخدمات الاتصالات. يمكنك توفير رموز الوصول المميزة دون تعريض سلسلة اتصال المورد للمستخدمين.
لمزيد من المعلومات، راجع بنية خادم العميل والوثائق المفاهيمية للمصادقة والتفويض .
إعداد دالة
يصف هذا القسم إجراءات إعداد دالة.
إعداد Azure Functions
لنقم أولا بإعداد البنية الأساسية للدالة. للحصول على إرشادات خطوة بخطوة للإعداد، راجع التشغيل السريع: إنشاء دالة C# في Azure باستخدام Visual Studio Code.
تتطلب الدالة التكوين التالي:
- اللغة: JavaScript
- قالب: مشغل HTTP
- مستوى التفويض: مجهول (إذا كنت تفضل نموذج تفويض مختلف، فيمكنك تبديله لاحقا)
- اسم الوظيفة: معرف من قبل المستخدم
بعد اتباع الإرشادات الواردة في التشغيل السريع: إنشاء دالة C# في Azure باستخدام Visual Studio Code مع التكوين السابق، يجب أن يكون لديك مشروع في Visual Studio Code للدالة التي تحتوي على index.js الملف الذي يحتوي على الدالة نفسها. يجب أن تكون التعليمات البرمجية التالية داخل الملف:
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
};
}
الخطوة التالية هي تثبيت مكتبات Communication Services.
تثبيت مكتبات Communication Services
يمكنك استخدام المكتبة Identity لإنشاء رموز وصول المستخدم.
استخدم npm install الأمر لتثبيت Communication Services Identity SDK ل JavaScript.
npm install @azure/communication-identity --save
يسرد الخيار --save المكتبة كتبعية في ملف package.json.
في أعلى ملف #D0، قم باستيراد واجهة المعلمة #D1.
const { CommunicationIdentityClient } = require('@azure/communication-identity');
إنشاء رموز الوصول المميزة
للسماح للدالة بإنشاء رموز وصول المستخدم المميزة، تحتاج أولا إلى استخدام سلسلة الاتصال لمورد Communication Services.
لمزيد من المعلومات حول كيفية استرداد سلسلة الاتصال الخاصة بك، راجع التشغيل السريع: إنشاء موارد خدمات الاتصالات وإدارتها.
const connectionString = 'INSERT YOUR RESOURCE CONNECTION STRING'
بعد ذلك، يمكنك تعديل الدالة الأصلية لإنشاء رموز وصول المستخدم المميزة.
لإنشاء رموز وصول المستخدم، استخدم الطريقة createUser لإنشاء مستخدم. بعد إنشاء المستخدم، استخدم الطريقة getToken لإنشاء رمز مميز لهذا المستخدم، والذي ترجعه الدالة.
على سبيل المثال، يمكنك تكوين نطاق الرمز المميز إلى voip. قد تكون النطاقات الأخرى ضرورية للتطبيق الخاص بك. لمعرفة المزيد حول النطاقات، راجع إنشاء رموز الوصول المميزة وإدارتها.
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
};
}
بالنسبة لمعلمة خدمات CommunicationUser الاتصالات الموجودة، يمكنك تخطي خطوة الإنشاء وإنشاء رمز مميز للوصول. لمزيد من المعلومات، راجع إنشاء رموز الوصول المميزة وإدارتها.
اختبار الوظيفة
قم بتشغيل الدالة محليا باستخدام F5. يقوم هذا الإجراء بتهيئة الدالة محليا وجعلها متاحة من خلال http://localhost:7071/api/FUNCTION_NAME. لمزيد من المعلومات حول التشغيل محليا، راجع التشغيل السريع: إنشاء دالة C# في Azure باستخدام Visual Studio Code.
افتح عنوان URL على المستعرض الخاص بك وترى نص استجابة مع معرف مستخدم الاتصال والرمز المميز وانتهاء صلاحية الرمز المميز.
نشر الدالة في Azure
لنشر الوظيفة الخاصة بك، اتبع الإرشادات خطوة بخطوة في التشغيل السريع: إنشاء دالة C# في Azure باستخدام Visual Studio Code.
باختصار، تحتاج إلى:
- سجل الدخول إلى Azure من Visual Studio.
- انشر المشروع إلى حساب Azure الخاص بك. هنا تحتاج إلى اختيار اشتراك موجود.
- إنشاء مورد دالة جديد باستخدام معالج Visual Studio أو مورد موجود. بالنسبة إلى مورد جديد، تحتاج إلى تكوينه إلى المنطقة المطلوبة ووقت التشغيل والمعرف الفريد.
- انتظر حتى يتم الانتهاء من النشر.
- تشغيل الدالة.
تشغيل الدالة
قم بتشغيل الدالة باستخدام عنوان URL http://<function-appn-ame>.azurewebsites.net/api/<function-name>.
للعثور على عنوان URL، انقر بزر الماوس الأيمن فوق الدالة في Visual Studio Code وانسخ عنوان URL للوظيفة.
لمزيد من المعلومات حول كيفية تشغيل الوظيفة الخاصة بك، راجع التشغيل السريع: إنشاء دالة C# في Azure باستخدام Visual Studio Code.
تأمين نقطة النهاية
كجزء من إعداد خدمة موثوق بها لتوفير رموز الوصول المميزة للمستخدمين، تحتاج إلى مراعاة أمان نقطة النهاية هذه للتأكد من أنه لا يمكن لأي ممثل سيئ إنشاء رموز مميزة للخدمة بشكل عشوائي. توفر Azure Functions ميزات أمان مضمنة يمكنك استخدامها لتأمين نقطة النهاية باستخدام أنواع مختلفة من نهج المصادقة. لمزيد من المعلومات، راجع أمان Azure Functions.
تنظيف الموارد
إذا كنت ترغب في تنظيف اشتراك Azure Communication Services وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا. يمكنك معرفة المزيد حول كيفية تنظيف موارد خدمة الاتصالوتنظيف موارد Azure Functions.