ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
اعتبارا من 1 مايو 2025، لن يكون Azure AD B2C متوفرا للشراء للعملاء الجدد. تعرف على المزيد في الأسئلة المتداولة.
تستخدم هذه المقالة نموذج تطبيق iOS Swift لتوضيح كيفية إضافة مصادقة Azure Active Directory B2C (Azure AD B2C) إلى تطبيقات الأجهزة المحمولة.
نظرة عامة
OID الاتصال (OIDC) هو بروتوكول مصادقة مبني على OAuth 2.0. يمكنك استخدام OIDC لتسجيل دخول المستخدمين إلى أحد التطبيقات بشكل آمن. يستخدم نموذج تطبيق الأجهزة المحمولة هذا مكتبة مصادقة Microsoft (MSAL) مع تدفق مفتاح إثبات رمز تخويل OIDC لتدفق تبادل التعليمات البرمجية (PKCE). MSAL هي مكتبة توفرها Microsoft تبسط إضافة دعم المصادقة والتخويل إلى تطبيقات الأجهزة المحمولة.
يتضمن تدفق تسجيل الدخول الخطوات التالية:
- يفتح المستخدمون التطبيق ويحددون تسجيل الدخول.
- يفتح التطبيق مستعرض نظام الجهاز المحمول ويبدأ طلب مصادقة إلى Azure AD B2C.
- يقوم المستخدمونبالتسجيل أو تسجيل الدخولأوإعادة ضبط كلمة المرورأو تسجيل الدخول باستخدامحساب اجتماعي.
- بعد تسجيل دخول المستخدمين بنجاح، يقوم Azure AD B2C بإرجاع رمز تخويل إلى التطبيق.
- يتخذ التطبيق الإجراءات التالية:
- فإنه يتبادل رمز التخويل إلى رمز مميز للمعرف ورمز الوصول المميز ورمز التحديث المميز.
- يقرأ مطالبات الرمز المميز للمعرف.
- يقوم بتخزين الرموز المميزة في ذاكرة التخزين المؤقت في الذاكرة لاستخدامها لاحقا.
تسجيل ملكية التطبيق
لتمكين تطبيقك من تسجيل الدخول باستخدام Azure AD B2C واستدعاء واجهة برمجة تطبيقات الويب، قم بتسجيل تطبيقين في دليل Azure AD B2C:
يتيح تسجيل تطبيق الهاتف المحمول لتطبيقك تسجيل الدخول باستخدام Azure AD B2C. أثناء تسجيل التطبيق، حدد عنوان URI لإعادة التوجيه. عنوان URI لإعادة التوجيه هو نقطة النهاية التي تتم إعادة توجيه المستخدمين إليها بواسطة Azure AD B2C بعد مصادقتهم باستخدام Azure AD B2C. تنشئ عملية تسجيل التطبيق معرف تطبيق، يعرف أيضا باسم معرف العميل، والذي يحدد تطبيق الأجهزة المحمولة بشكل فريد (على سبيل المثال، معرف التطبيق: 1).
يتيح تسجيلAPI ويبلتطبيقك الاتصال API ويب المحمية. يعرض التسجيل أذونات الوصول واجهة برمجة تطبيقات الويب (النطاقات). تنشئ عملية تسجيل التطبيق معرف تطبيق، والذي يحدد واجهة برمجة تطبيقات الويب بشكل فريد (على سبيل المثال، معرف التطبيق: 2). امنح تطبيق الأجهزة المحمولة (معرف التطبيق: 1) أذونات لنطاقات واجهة برمجة تطبيقات الويب (معرف التطبيق: 2).
يتم توضيح تسجيل التطبيق وهندسته في الرسومات التخطيطية التالية:
استدعاء واجهة برمجة تطبيقات الويب
بعد اكتمال المصادقة، يتفاعل المستخدمون مع التطبيق، والذي يستدعي واجهة برمجة تطبيقات ويب محمية. تستخدم واجهة برمجة تطبيقات الويب مصادقة رمز الحامل المميز. رمز الحامل هو الرمز المميز للوصول الذي حصل عليه التطبيق من Microsoft Azure Active Directory B2C. يمرر التطبيق الرمز المميز في رأس التفويض لطلب HTTPS.
Authorization: Bearer <access token>
إذا كان نطاق الرمز المميز للوصول لا يطابق نطاقات واجهة برمجة تطبيقات الويب، تحصل مكتبة المصادقة على رمز مميز للوصول جديد مع النطاقات الصحيحة.
تدفق تسجيل الخروج
يتضمن تدفق تسجيل الخروج الخطوات التالية:
- من التطبيق، يقوم المستخدمون بتسجيل الخروج.
- يمسح التطبيق عناصر الجلسة الخاصة به، وتقوم مكتبة المصادقة بمسح ذاكرة التخزين المؤقت للرمز المميز.
- يأخذ التطبيق المستخدمين إلى نقطة نهاية تسجيل الخروج لـ Azure AD B2C لإنهاء جلسة Azure AD B2C.
- تتم إعادة توجيه المستخدمين مرة أخرى إلى التطبيق.
المتطلبات الأساسية
جهاز الكمبيوتر قيد التشغيل:
- Xcode 13 أو أحدث.
- مدير تبعية CocoaPods لمشاريع Swift Objective-C Cocoa.
الخطوة 1: تكوين تدفق المستخدم الخاص بك
عندما يحاول المستخدمون تسجيل الدخول إلى تطبيقك، يبدأ التطبيق في طلب مصادقة لنقطة نهاية التخويل عبر تدفق المستخدم. يحدد تدفق المستخدم تجربة المستخدم ويتحكم فيها. بعد أن يكمل المستخدمون تدفق المستخدم، ينشئ Azure AD B2C رمزًا مميزًا، ثم يعيد توجيه المستخدم مرةً أخرى إلى تطبيقك.
إذا لم تكن قد قمت بذلك بالفعل، فبادر بإنشاء تدفق مستخدم أو نهج مخصص. كرر الخطوات لإنشاء ثلاثة تدفقات مستخدم منفصلة كما يلي:
-
تسجيل الدخول المشتركة والاشتراك في تدفق المستخدم، مثل
susi
. يدعم تدفق المستخدم هذا أيضاً تجربة نسيت كلمة المرور الخاصة بك. - تدفق تحرير ملف تعريف المستخدم، مثل
edit_profile
. - تدفق إعادة تعيين كلمة مرور المستخدم، مثل
reset_password
.
يسبق Microsoft Azure AD B2C B2C_1_
اسم تدفق المستخدم. على سبيل المثال، يصبح susi
B2C_1_susi
.
الخطوة 2: تسجيل تطبيقات الجوال
إنشاء تطبيق الأجهزة المحمولة وتسجيل تطبيق واجهة برمجة تطبيقات الويب، وتحديد نطاقات واجهة برمجة تطبيقات الويب الخاصة بك.
الخطوة 2.1: تسجيل تطبيق واجهة برمجة تطبيقات الويب
لإنشاء تسجيل تطبيق واجهة برمجة تطبيقات الويب (App ID: 2)، اتبع الخطوات التالية:
سجل الدخول إلى مدخل Microsoft Azure.
تأكد من استخدام الدليل الذي يحتوي على مستأجر Azure AD B2C. حدّد أيقونة الدلائل + الاشتراكات في شريط أدوات المدخل.
في صفحة Portal settings | Directories + subscriptions ابحث عن دليل Azure AD B2C في قائمة Directory name ثم حدّد Switch.
في مدخل Microsoft Azure، ابحث عن Azure AD B2C وحددها.
حدد App registrations، ثم حدد New registration.
تحت Name، أدخل اسمًا للتطبيق (على سبيل المثال، my-api1). اترك القيم الافتراضية لـ Redirect URIوأنواع الحسابات المدعومة.
حدد Register.
بعد اكتمال عملية تسجيل التطبيق، حدد "Overview".
سجل قيمة Application (client) ID لاستخدامه لاحقًا عند تكوين تطبيق الويب.
الخطوة 2.2: تكوين نطاقات تطبيق واجهة برمجة تطبيقات الويب
حدد التطبيق my-api1 الذي أنشأته (App ID: 2) لفتح صفحة Overview الخاصة به.
ضمن إدارة، حدد كشف واجهة برمجة تطبيقات.
بجوار معرف التطبيق URI، حدد رابط تعيين. استبدل القيمة الافتراضية (GUID) باسم فريد (على سبيل المثال، tasks-api) ثم حدد Save.
عندما يطلب تطبيق الويب الخاص بك رمز وصول لواجهة برمجة تطبيقات الويب، يجب أن يضيف عنوان URI هذا كبادئة لكل نطاق تحدده لواجهة برمجة التطبيقات.
ضمن النطاقات المعرفة من قبل واجهة برمجة التطبيقات API هذه، حدد إضافة نطاق.
لإنشاء نطاق يحدد الوصول للقراءة إلى واجهة برمجة التطبيقات:
- بالنسبة إلى اسم النطاق، أدخل المهام.قراءة.
- بالنسبة إلى اسم عرض موافقة المسؤول، أدخل قراءة الوصول إلى واجهة برمجة تطبيقات المهام.
- بالنسبة إلى وصف موافقة المسؤول، أدخل السماح بالوصول للقراءة إلى واجهة برمجة تطبيقات المهام.
حدد إضافة نطاق.
حدد إضافة نطاق، ثم أضف نطاقًا يحدد حق الوصول للكتابة إلى واجهة برمجة التطبيقات:
- بالنسبة إلى اسم النطاق، أدخل features.write.
- بالنسبة إلى اسم عرض موافقة المسؤول، أدخل واجهة برمجة تطبيقات الوصول للكتابة إلى المهام.
- بالنسبة إلى وصف موافقة المسؤول، أدخل السماح بالوصول للكتابة إلى واجهة برمجة تطبيقات المهام.
حدد إضافة نطاق.
الخطوة 2.3: تسجيل تطبيق الأجهزة المحمولة
لإنشاء تسجيل تطبيق الأجهزة المحمولة، قم بما يلي:
- سجل الدخول إلى مدخل Microsoft Azure.
- حدد App registrations، ثم حدد New registration.
- ضمن الاسم، أدخل اسما للتطبيق (على سبيل المثال، iOs-app1).
- ضمن أنواع الحسابات المدعومة، حدد الحسابات في أي موفر هوية أو دليل تنظيمي (لمصادقة المستخدمين بعمليات سير عمل المستخدمين).
- ضمن Redirect URI، حدد Public client/native (mobile & desktop) ثم، في مربع URL، أدخل
msauth.com.microsoft.identitysample.MSALiOS://auth
. - حدد Register.
- بعد اكتمال عملية تسجيل التطبيق، حدد "Overview".
- سجل معرف التطبيق (العميل) لاستخدامه لاحقا، عند تكوين تطبيق الهاتف المحمول.
الخطوة 2.4: منح أذونات تطبيق الأجهزة المحمولة لواجهة برمجة تطبيقات الويب
لمنح تطبيقك (App ID: 1) أذونات، اتبع الخطوات التالية:
حدد App registrations، ثم حدد التطبيق الذي قمت بإنشائه (معرف التطبيق: 1).
ضمن خانة الإدارة، اختر الأذونات الخاصة بواجهة برمجة التطبيقات.
ضمن أذونات مكونة، حدد إضافة إذن.
حدد علامة التبويب واجهات برمجة التطبيقات الخاصة بي.
حدد واجهة برمجة التطبيقات (App ID: 2) التي يجب منح تطبيق الويب حق الوصول إليها. على سبيل المثال، أدخل my-api1.
ضمن Permission، وسّع المهام، ثم حدد النطاقات التي حددتها سابقًا (على سبيل المثال، tasks.read وtasks.write).
حدد إضافة أذونات.
حدد «منح موافقة المسؤول لـ» <اسم المستأجر الخاص بك>.
حدد نعم.
حدد Refresh، ثم تحقق من ظهور منح لـ ... ضمن Status لكلا النطاقين.
من قائمة Configured permissions، حدد النطاق الخاص بك، ثم انسخ الاسم الكامل للنطاق.
الخطوة 3: تكوين نموذج واجهة برمجة تطبيقات الويب
يكتسب هذا النموذج رمز وصول مع النطاقات ذات الصلة التي يمكن لتطبيق الأجهزة المحمولة استخدامها لواجهة برمجة تطبيقات الويب. لاستدعاء واجهة برمجة تطبيقات الويب من التعليمات البرمجية، قم بما يلي:
- استخدم واجهة برمجة تطبيقات ويب موجودة، أو أنشئ واجهة برمجة تطبيقات جديدة. لمزيد من المعلومات، راجع تمكين المصادقة في واجهة برمجة تطبيقات الويب الخاصة بك باستخدام Azure AD B2C.
- تغيير نموذج التعليمات البرمجية لاستدعاء واجهة برمجة تطبيقات الويب.
- بعد تكوين واجهة برمجة تطبيقات الويب، انسخ URI لنقطة نهاية واجهة برمجة تطبيقات الويب. ستستخدم نقطة نهاية واجهة برمجة تطبيقات الويب في الخطوات التالية.
تلميح
إذا لم يكن لديك واجهة برمجة تطبيقات ويب، فلا يزال بإمكانك تشغيل هذه العينة. في هذه الحالة، يقوم التطبيق بإرجاع الرمز المميز للوصول ولكنه لن يتمكن من استدعاء واجهة برمجة تطبيقات الويب.
الخطوة 4: الحصول على نموذج تطبيق الأجهزة المحمولة iOS
قم بتنزيل ملف .zip، أو استنساخ نموذج تطبيق الويب من مستودع GitHub.
git clone https://github.com/Azure-Samples/active-directory-b2c-ios-swift-native-msal
استخدم CocoaPods لتثبيت مكتبة MSAL. في نافذة terminal، انتقل إلى المجلد الجذر للمشروع. يحتوي هذا المجلد على ملف podfile . شغّل الأمر التالي:
pod install
افتح
MSALiOS.xcworkspace
مساحة العمل باستخدام Xcode.
الخطوة 5: تكوين نموذج تطبيق الأجهزة المحمولة
افتح ملف ViewController.swift .
ViewController
يحتوي أعضاء الفئة على معلومات حول موفر هوية Azure AD B2C. يستخدم تطبيق الأجهزة المحمولة هذه المعلومات لإنشاء علاقة ثقة مع Azure AD B2C، وتسجيل دخول المستخدمين والخروج، والحصول على الرموز المميزة، والتحقق من صحتها.
تحديث أعضاء الفئة التالية:
مفتاح | قيمة |
---|---|
kTenantName |
اسم المستأجر الكامل لمستأجر Azure AD B2C (على سبيل المثال، contoso.onmicrosoft.com ). |
kAuthorityHostName |
الجزء الأول من اسم مستأجر Microsoft Azure Active Directory B2C (على سبيل المثال، contoso.b2clogin.com ). |
معرف kClientID | معرف تطبيق الهاتف المحمول من الخطوة 2.3. |
kRedirectUri | إعادة توجيه تطبيق الهاتف المحمول URI من الخطوة 2.3، msauth.com.microsoft.identitysample.MSALiOS://auth . |
kSignupOrSigninPolicy | تدفق مستخدم الاشتراك أو تسجيل الدخول أو النهج المخصص الذي أنشأته في الخطوة 1. |
kEditProfilePolicy | تحرير تدفق مستخدم ملف التعريف أو النهج المخصص الذي أنشأته في الخطوة 1. |
kGraphURI | (اختياري) نقطة نهاية واجهة برمجة تطبيقات الويب التي قمت بإنشائها في الخطوة 3 (على سبيل المثال، https://contoso.azurewebsites.net/hello ). |
kScopes | نطاقات واجهة برمجة تطبيقات الويب التي قمت بإنشائها في الخطوة 2.4. |
الخطوة 6: تشغيل تطبيق الأجهزة المحمولة واختباره
إنشاء المشروع وتشغيله باستخدام جهاز محاكاة لجهاز iOS متصل.
حدد تسجيل الدخول، ثم قم بالتسجيل أو تسجيل الدخول باستخدام حسابك المحلي أو الاجتماعي في Azure AD B2C.
بعد المصادقة الناجحة، سترى اسم العرض الخاص بك في شريط التنقل.
الخطوات التالية
تعلم كيف: