> ## 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.

# دليل البدء السريع لـ Next.js مع المصادقة

> خطّط لجلسة مصادقة تديرها الخادم مع Didit، باستخدام استدعاءات PKCE وملفات تعريف الارتباط HttpOnly والتفويض للطلبات المحمية.

> [!WARNING]
>
> المصادقة ميزة جديدة: إن `@didit-protocol/auth-nextjs` ومحقق الخادم الأساسي مرتبطان بإصدار الحزمة. لم يُحدَّد قبل إصدار الحزمة أي مسار استيراد للوسيط، ولا اسم لملف تعريف الارتباط، ولا شكل القيمة التي تعيدها `auth()`. رموز الوصول هي JWT من نوع ES256: تحقّق منها باستخدام JWKS الخاص بتطبيقك، واستدعِ `GET session/` عندما تحتاج إلى معرفة أن الجلسة ما زالت نشطة.

## الاحتفاظ بالجلسة على الخادم

استخدم التدفق المستضاف الموضح في [دليل البدء السريع لـ JavaScript](https://docs.didit.me/ar/authentication/quickstarts/javascript.md)، مع التعديلات التالية لتطبيق يُعرض من جانب الخادم. أسماء المسارات في الجدول أسماء مسارات في تطبيقك أنت تنفذها، وليست endpoints في واجهة Didit البرمجية.

| مسار التطبيق | المسؤولية |
| - | - |
| بدء تسجيل الدخول | أنشئ الحالة وS256 PKCE؛ واحفظ المعاملة في جلسة خادم قصيرة الأمد؛ ثم وجّه المستخدم إلى `{origin}/sign-in`. |
| مسار الاستدعاء المسجل | تحقّق من الحالة ومن انتهاء الصلاحية، واستهلك المعاملة مرة واحدة، واستبدل الرمز عند `token/`، واحفظ الرموز على الخادم. |
| صفحة محمية أو مسار API محمي | اقرأ ملف تعريف ارتباط الجلسة الخاص بك، وتحقّق من رمز وصول المستخدم النهائي مقابل JWKS الخاص بك، أو استدعِ `session/` عندما يجب أن يكون الإلغاء فورياً؛ ثم امنح الإذن للإجراء المطلوب لهذا الشخص. |
| تحديث الرمز | اجعل تحديث الرمز متسلسلاً لكل جلسة، واستدعِ `token/`، واستبدل زوج الرموز ذرياً. |
| تسجيل الخروج | عملية تعديل محمية من CSRF تُلغي `session/` وتمسح جلسة التطبيق. |

أرسل فقط مرجعاً عشوائياً لجلسة التطبيق في ملف تعريف ارتباط بالخصائص `Secure` و`HttpOnly` و`SameSite=Lax` مع مسار محدد النطاق. استخدم مدة صلاحية مناسبة، وغيّر المرجع بعد تسجيل الدخول. لا تكشف رمز التحديث الخاص بـ Didit في الخصائص المعروضة أو في مكونات العميل أو في تخزين المتصفح. استخدم `Cache-Control: no-store` في استجابات الرموز واستجابات الاستدعاء.

لا تعتمد على فحص التخطيط أو الوسيط وحده: تحقّق من الإذن عند كل وصول إلى البيانات وكل عملية تعديل. احمِ عمليات التعديل المصادَقة بملف تعريف الارتباط من هجمات CSRF. اسمح فقط بوجهات ما بعد تسجيل الدخول المُعدّة مسبقاً، ولا تقبل أبداً عنوان URL عشوائياً من معامل `returnTo` في الاستعلام.

## معاينة إصدار الحزمة

تضيف الحزمة المخطط لها الوسيط، و`auth()` على الخادم، ومسار الاستدعاء، ودعم ملفات تعريف الارتباط من نوع HttpOnly للعرض من جانب الخادم. من المتوقع أن يوفّر المدخل الأساسي `/server` الدالة `verifyToken()` مع JWKS مخزّن مؤقتاً. انتظر صادرات الإصدار المتحقَّق منه قبل استخدام هذه الرموز البرمجية. وإلى ذلك الحين، تحقّق من الرموز بنفسك باستخدام أي مكتبة JOSE، كما هو موضح في [الرموز وJWKS](https://docs.didit.me/ar/authentication/tokens-and-jwks.md).

## الربط بالمنتجات الأخرى

أنشئ جلسات التحقق وأصدر رموز المراقبة المحددة النطاق على الخادم. استخرج `vendor_data` من تعيين بيانات الشخص الذي تم التحقق منه. أعد للمتصفح رابط جلسة التحقق أو رمز SDK قصير الأمد فقط. أبقِ `DIDIT_API_KEY` خارج متغيرات البيئة العامة.

استخدم [حزمة SDK للتحقق عبر الويب](https://docs.didit.me/ar/integration/web-sdks/javascript-sdk.md) الموجودة للتحقق، و[دليل إرسال المعاملات](https://docs.didit.me/ar/transaction-monitoring/sdk-transaction-submission.md) للمراقبة. ولا يُعد أي منهما مديراً لجلسات المصادقة.

اختبر إعادة تشغيل الاستدعاء، والحالة الخاطئة، والحالة المنتهية الصلاحية، وتزاحم التحديث، والجلسات الملغاة، ورفض CSRF، وتسجيل الخروج قبل الإصدار. راجع [الرموز وJWKS](https://docs.didit.me/ar/authentication/tokens-and-jwks.md) للاطلاع على عقد التحقق.


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