> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# مصادقة iOS: دليل البدء السريع

> أعدّ مصادقة iOS مع Didit باستخدام تسجيل الدخول المستضاف والتحقق من رد الاستدعاء والجلسات الآمنة، مع روابط إلى التحقق والمراقبة.

> [!WARNING]
>
> المصادقة ميزة جديدة، و**DiditAuth for iOS** يعتمد على الإصدار. بيانات التوزيع والإصدارات وتوقيعات الاستدعاء غير مؤكدة هنا. لا تثبّت حزمة مُخمّنة، ولا تستخدم SDK التحقق من الهوية كأنه SDK للمصادقة.

## تجهيز التطبيق

1. تأكد من تفعيل المصادقة لتطبيقك في Didit، وانسخ من لوحة التحكم أصل تسجيل الدخول (`https://<slug>.auth.didit.me`، أو `<slug>.sandbox.auth.didit.me` للبيئة التجريبية).
2. سجّل رابط استدعاء دقيقًا يدعمه تطبيقك والبيئة التشغيلية. تحقق من ملكية روابط التطبيق (app links)، ولا تفترض أن مخططات URL المخصصة مقبولة بشكل عام.
3. افصل إعدادات البيئة التجريبية عن إعدادات الإنتاج، بما في ذلك معالجة رابط الاستدعاء وبيانات الاعتماد المخزنة.
4. اختر طريقة ثابتة لربط الشخص قبل ربط التحقق أو المراقبة.

استخدم جلسة المصادقة الخاصة بالنظام لتسجيل الدخول عبر التدفق المستضاف. خطط للتعامل الأصلي مع مفاتيح المرور (passkeys) ونطاق الطرف المعتمِد (relying party) معًا. لا يُعد WebView بديلًا عن تدفق المصادقة الخاص بالنظام.

## تنفيذ التدفق المستضاف

افتح جلسة متصفح المصادقة الخاصة بالنظام على عنوان `{origin}/sign-in`. أرسل قيمة `state` عشوائية جديدة، وتحدّي PKCE بطريقة S256، و`redirect_uri` المسجّل لديك. احتفظ بالـ verifier داخل تطبيقك لتلك المحاولة فقط. يوضح [دليل البدء السريع لـ JavaScript](https://docs.didit.me/ar/authentication/quickstarts/javascript.md) البروتوكول الأساسي، واستخدم في الكود الأصلي تشفيرًا ومعالجة لعناوين URL الخاصة بالمنصة، لا متغيرات المتصفح العامة.

عند الاستدعاء، تحقّق من state ومدة صلاحية المعاملة ووجهة الاستدعاء، ثم استبدل الرمز أحادي الاستخدام عبر `token/`. استخدم الـ verifier الأصلي و redirect URI المطابق تمامًا. إلغاء المتصفح أو إغلاقه لا يُعد تسجيل دخول ناجحًا.

خزّن refresh tokens في تخزين بيانات الاعتماد المحمي بالنظام، ولا تخزّنها أبدًا في ملف تفضيلات غير محمي أو في سجلات التحليلات أو سجلات الأعطال. تحقق من الجلسة الحالية باستخدام `GET session/` مع Bearer token الخاص بالمستخدم النهائي. نفّذ التحديث بشكل متسلسل، واستبدل الرمزين معًا، واحذف الحالة الخاصة بالمستخدم بعد تسجيل الخروج. راجع [الـ tokens وJWKS](https://docs.didit.me/ar/authentication/tokens-and-jwks.md) للاطلاع على عقد الطلب وسلوك إعادة استخدام refresh token.

## معاينة إصدار SDK الأصلي

من المخطط أن توفر وحدات المصادقة الأصلية تسجيل الدخول، والوصول إلى الجلسة الحالية، واسترجاع الـ token، وتسجيل الخروج، ورفع مستوى التحقق (step-up)، مع إشارات الجهاز التلقائية. تشمل هذه النسخة مفاتيح المرور الأصلية وتخزين الـ tokens المحمي. ستتبع واجهات الغلاف عقود المنصة المنشورة، فلا تنسخ وسائط المُنشئات أو توقيعات الأساليب من مثال تصميمي.

إلى أن تُصدر الوحدة، أبقِ مهايئها معطّلًا، أو استخدم تنفيذًا خضع للمراجعة للبروتوكول المستضاف في تطبيقك المفعّل. لا تعلن عن دليل بدء سريع أصلي للمصادقة يعمل بناءً على تثبيت الحزمة فقط.

## ربط التحقق والمراقبة

يشتق الخادم لديك قيمة `vendor_data` من الشخص الذي تمت مصادقته. ثم ينشئ جلسات التحقق أو يصدر tokens مراقبة محدودة النطاق لذلك الشخص. أعد إلى تطبيقك بيانات الاعتماد الخاصة بالجلسة أو الـ token المحدود فقط، وأبقِ مفتاح API على الخادم.

استخدم [SDK التحقق من الهوية لـ iOS](https://docs.didit.me/ar/integration/native-sdks/ios-sdk.md) عندما تحتاج إلى التحقق من الهوية. واتبع [إرسال المعاملات عبر SDK](https://docs.didit.me/ar/transaction-monitoring/sdk-transaction-submission.md) لدعم المراقبة على منصتك. تعامل مع قرارات تسجيل الدخول وقرارات التحقق وقرارات المعاملات بشكل منفصل.

## التحقق من التكامل

اختبر العودة إلى التطبيق بعد إغلاقه بالكامل، وانتقالات الخلفية والمقدمة، وإلغاء المتصفح، وعدم تطابق الاستدعاء، وإعادة استخدام الرمز، وانتهاء صلاحية الـ token، والتحديث المتزامن، وMFA، وتسجيل الخروج، وتسجيل الدخول بحساب مستخدم آخر. اختبر تسجيل مفتاح المرور وتسجيل الدخول به على الأجهزة المدعومة بمجرد توفر هذا الإصدار. فحص يعتمد على الجهاز فقط يظل غير مُتحقَّق منه حتى يُجرى على المنصة المستهدفة.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.