الآن بعد أن فهمنا حول ملفات تعريف الارتباط وجلسات التعبير،
في هذا التمرين، دعونا ننظر إلى ملفات تعريف الارتباط على وجه الخصوص.
سنرى كيف يمكننا استخدام الوسيطة محلل ملفات
الكوكي-لإعداد ملفات تعريف الارتباط والتعامل معها داخل تطبيقنا السريع.
بالعودة إلى تطبيق الارتباك سيرفر إكسبريس
الذي كنا نعمل عليه حتى الآن،
ستلاحظ في الجزء العلوي أن محلل ملفات تعريف الارتباط
مضمّن بالفعل في تطبيقنا السريع.
إذا كنت بحاجة إلى تثبيت محلل ملفات تعريف الارتباط بشكل صريح،
فستحتاج فقط إلى كتابة «npm install cookie - محلل ملفات ناقص الحفظ.»
ولكن بما أن مولد Express
الخاص بنا قد تضمن بالفعل محلل ملفات تعريف الارتباط في تطبيقنا السريع الذي قمنا بسقاله،
فنحن لسنا بحاجة إلى القيام بهذه الخطوة في هذا التمرين.
لذلك، ترى أن محلل ملفات تعريف الارتباط مضمّن بالفعل هناك،
وبعد ذلك إذا قمت بالتمرير لأسفل،
سترى أنه في الشفرة أدناه هنا،
سترى أن محلل ملفات تعريف الارتباط قد تم تضمينه بالفعل في البرامج الوسيطة هناك.
الآن، بالنسبة إلى محلل ملفات تعريف الارتباط هذا،
سنستخدم ملفات تعريف الارتباط الموقعة في هذا التمرين.
لذلك، بالنسبة لهذا محلل ملفات تعريف الارتباط،
سأقوم بتوفير مفتاح سري كمعلمة هنا.
المفتاح السري يمكن أن يكون أي سلسلة هناك،
لذلك أنا ذاهب فقط لتوفير سلسلة مثل هذا، سأقول 12345-67890.
لا يجب أن يكون أي شيء ذي معنى،
إنه مجرد مفتاح يمكن استخدامه من قبل
محلل ملفات تعريف الارتباط الخاص بنا من أجل تشفير
المعلومات والتوقيع على ملف تعريف الارتباط الذي يتم إرساله من الخادم إلى العميل.
لذلك، بمجرد أن نقوم بإعداد محلل ملفات تعريف الارتباط الخاص بنا للتعامل مع ملفات تعريف الارتباط الموقعة،
لذلك ضمن التفويض نفسه،
لذلك ترى أن لدينا التفويض الذي قمنا ببنائه هنا.
الآن، ضمن التفويض،
ما سنقوم به هو،
في المرة الأولى التي يحاول فيها المستخدم الوصول إلى الخادم،
نتوقع من المستخدم أن يأذن لنفسه أو لنفسه.
بعد ذلك، سنقوم بإعداد ملف تعريف الارتباط على جانب العميل من الخادم
وبعد ذلك لا يتعين على العميل
الاحتفاظ بشكل صريح بإرسال معلومات المصادقة الأساسية.
بدلاً من ذلك، سيحتاج العميل ببساطة إلى تضمين ملف تعريف الارتباط في الطلب الصادر.
نظرًا لأننا نستخدم ملفات تعريف الارتباط الموقعة هنا، لذلك،
عندما يأتي الطلب الوارد،
لذلك سنتعامل مع ذلك داخل التفويض.
الآن، تذكرون أننا قمنا بالفعل بإعداد الوسيطة التخويل هنا.
لذلك، سنقوم بتعديل هذه الوسيطة التخويل للاستفادة من
ملفات تعريف الارتباط بدلاً من رأس التفويض.
لذا، ما سنفعله هنا هو أنه،
سنقول «console.log» وبعد ذلك سنقول،
«console.log (Req.SignedCookies)» حتى نرى ما هو
مدرج بالفعل في ملف تعريف الارتباط الموقّع هنا.
الآن، أيضا بعد هذا،
ما سنفعله هو أن نقول، «إذا (! Req.signedCookies.User)».
سيكون المستخدم خاصية سنقوم بإعدادها
في ملف تعريف الارتباط الموقّع حيث سترى
قليلاً في وقت لاحق كيف سنقوم بإعداد ملف تعريف الارتباط الموقّع.
لذلك، إذا كان الطلب الوارد لا يتضمن حقل المستخدم في ملفات تعريف الارتباط الموقعة،
ومن ثم هذا يعني أن المستخدم لم يتم تخويله حتى الآن.
لذلك في هذه الحالة،
ما سنفعله هو أن نتوقع من المستخدم مصادقة نفسه.
إذن، سنفعل كل هذا الجزء هنا
لذا لاحظ أننا فعلنا ذلك بالفعل في
وقت سابق حيث كنا نتعامل مع رأس المصادقة.
لذلك سوف نأخذ كل هذا الجزء،
على طول الطريق إلى هذا «آخر» هنا ومن ثم تضمين ذلك في الداخل هنا.
لذلك أساسا، ما نحدده هنا هو أن،
اسمحوا لي أن أضع مسافة بادئة.
كما ترى، أنا خاص جدًا حول المسافة البادئة الخاصة بي
لأن ذلك يحافظ على الشفرة أكثر سهولة في القراءة.
حتى داخل هذا إذا،
لذلك هذا هو نقطة إغلاق إذا كان هذا واحد هنا.
لذلك نحن نقول إذا كان ملف تعريف الارتباط الموقع لا يحتوي على خاصية المستخدم عليه،
ثم نتوقع من المستخدم أن يأذن من خلال تضمين رأس التفويض.
لذلك سنبحث عن رأس التفويض.
إذا لم يكن رأس التفويض متاحًا،
فسنقوم ببساطة برفض المستخدم ونطالب
المستخدم بإدخال اسم المستخدم وكلمة المرور كما فعلنا في التمرين السابق.
إذا تم تضمين رأس التخويل،
فسنقوم بمعالجة رأس التفويض تمامًا كما فعلنا من قبل،
وإذا كان المستخدم مستخدمًا مفوضًا،
فتذكر أننا اتصلنا بالعنوان التالي للسماح للمستخدم بالمضي قدمًا.
الآن في هذه المرحلة،
ما سنفعله هو أننا سوف نقول،
سنقوم بإعداد ملف تعريف الارتباط في هذه المرحلة.
لذلك هذا هو المكان الذي سنستخدم فيه ملف تعريف الارتباط الدقة هنا.
لاحظ أن ملف تعريف الارتباط غير موجود،
لذا سنقول «res.cookie».
كما ترى، يأخذ ملف تعريف الارتباط res نفسه سلسلة اسم القيمة الأولى،
وسلسلة القيمة والخيارات، وخيارات ملفات تعريف الارتباط.
قم بتعيين اسم ملف تعريف الارتباط إلى القيمة مع الخيارات المحددة ويتم تضمين الخيارات هنا،
وبعض الخيارات لملف تعريف الارتباط هنا.
أنا ذاهب ببساطة لاستخدام بعض الخيارات هنا.
لذلك سنقول، «res.cookie» ثم سأقوم بإعداد ملف تعريف الارتباط مع مستخدم الاسم.
الآن لاحظ أن هذا هو السبب في أنني
أتحقق من Req.signedCookies.User هناك.
لذلك سنقول «res.cookie ('user'،)»
وحقل المستخدم سأقوم بتعيينه إلى «admin»
وبعد ذلك سأقوم بإعداد هذا ليكون ملف تعريف ارتباط موقّع.
لذلك سأقول «وقعت: صحيح».
وهذا يعني أن محلل ملفات تعريف الارتباط الخاص بي سيضمن
توقيع ملف تعريف الارتباط هذا وإعداده.
لذلك هذا هو الخيار الذي قمت بإعداده لملف تعريف الارتباط الدقة هنا.
لذلك سيشمل
هذا الاسم المعين في ملف تعريف الارتباط الموقّع بهذه القيمة المعينة.
لذلك هذا هو السبب في أنني قادرة على التحقق من هذه القيمة هنا.
لذلك إذا لم يكن هذا موجودًا،
فبالطبع أتوقع أن يقوم المستخدم بالمصادقة باستخدام المصادقة الأساسية،
وإذا كانت المصادقة الأساسية ناجحة،
فعندئذ سأقوم بإعداد ملف تعريف الارتباط هنا وإعداد
حقل ملف تعريف الارتباط في رسالة الاستجابة الصادرة هنا
وهذا سيطالب لإعداد ملف تعريف الارتباط على جانب العميل ومن ثم
ستتضمن جميع الطلبات اللاحقة ملف تعريف الارتباط هذا في طلب العميل.
إذن هذه هي الطريقة التي أتعامل بها مع حقيقة عندما لا يكون cookie.user موجودًا.
هناك. إذا كان موجودا،
ثم الجزء الآخر،
وهذا يعني أن ملف تعريف الارتباط الموقع
موجود بالفعل ويتم تعريف خاصية المستخدم على ذلك،
ثم في آخر،
ما سوف تحقق هو
إذا Req.SignedCookies.User هو المشرف.
ثم، وهذا يعني أن ملف تعريف الارتباط الموقع يحتوي على المعلومات الصحيحة.
ثمّ، أنا سَأَقُولُ التالي.
مما يعني أنك ستسمح للطلب بالمرور.
وإلا، فإن ملف تعريف الارتباط هذا غير صالح لأنه لا يحتوي على هذه القيمة الصحيحة.
وهذا يعني أن هذا خطأ.
لذلك في هذه الحالة،
سوف نقول أنك لم يتم مصادقتها،
وبعد ذلك سوف نتسبب ببساطة في الخطأ في هذه النقطة.
الآن، لن نقوم بمطالبة المستخدم
بالجلسة لأن ذلك يجب أن يكون قد تم في وقت سابق.
الآن، عادة، لن يحدث هذا
لأنه إذا تم تعيين ملف تعريف الارتباط بالفعل على جانب العميل،
فيجب أن يتضمن القيمة الصحيحة على أي حال.
ولكن من أجل الاكتمال،
لقد شملت أيضا التحقق من الخطأ آخر هنا في هذه المرحلة. هذا كل شيء
مع هذا الإعداد، قمنا بتحويل
تطبيقنا السريع إلى تطبيق يعالج ملفات تعريف الارتباط هنا.
لاحظ مرة أخرى، اسمحوا لي أن ألفت انتباهكم إلى ما نقوم به هنا مرة أخرى.
هنا، نحن نتحقق للتأكد من
أن خاصية المستخدم في ملفات تعريف الارتباط الموقعة غير موجودة،
أو حتى ملف تعريف الارتباط الموقع نفسه غير موجود.
و بعد ذلك, نتوقع الحصول على إذن أساسي.
إذا كان التفويض ناجحًا،
فأنا سأقوم بإعداد ملف تعريف الارتباط باستخدام res.cookie هنا.
بعد ذلك، ستحمل جميع الطلبات اللاحقة ملف تعريف الارتباط الموقّع على أي حال،
وبعد ذلك سأتحقق من أن ملف تعريف الارتباط الموقّع هو
ملف تعريف ارتباط موقّع صالح ويحتوي على خاصية المستخدم التي تم تعيينها مساويًا للمشرف.
إذا كان كذلك، فهذا هو الوصول المصرح به،
لذلك سيسمح بالمضي قدما.
إذا لم يكن كذلك، ثم رفع خطأ في هذه المرحلة.
تصحيح ثانوي، الإصدارات الجديدة من Node.js تتوقع استخدام هذا كما
المخزن المؤقت الجديد. من بدلاً من المخزن المؤقت الجديد للتعامل مع بعض المشكلات الأمنية.
حتى مجرد تصحيح هذا الخط إلى buffer.From جديد. هذا كل شيء
دعونا حفظ التغييرات ومن ثم الذهاب والنظر في طلبنا في ذلك ساعي البريد.
إذا كان الخادم السابق قيد التشغيل،
فقط قم بإيقافه عن طريق كتابة Control C،
ثم أعد تشغيل الخادم عن طريق قول npm start.
بالطبع، تأكد من أن خادم MongoDB الخاص بك قيد التشغيل.
وإلا، لن يبدأ الخادم السريع الخاص بك بشكل صحيح.
لذلك بمجرد بدء تشغيل الخادم السريع الخاص بك،
ثم دعونا نذهب إلى ساعي البريد لدينا ومحاولة الاتصال بالخادم.
وسأوضح بعض الجوانب حول كيفية التعامل مع ملفات تعريف الارتباط.
الآن، الذهاب إلى ساعي البريد،
اسمحوا لي أن أوضح كل هذه المعلومات
من ساعي البريد الخاص بي وبعد ذلك سوف نبدأ مع الأساسيات.
لذلك اسمحوا لي أن أحاول الوصول إلى المضيف المحلي: 3000/أطباق.
الآن، بعد أن قمت بمسح كل شيء،
سأرسل الطلب وحفظه.
وهكذا من جانب الخادم،
تقول أنك غير مصادق عليها.
ثم، عندما تنظر إلى الرأس،
وهذا يطلب مني المصادقة باستخدام ووو المصادقة.
حتى الآن، اسمحوا لي أن أذهب إلى التفويض ثم قم بإعداد التفويض الأساسي،
ومن ثم سأقوم بإعداد التفويض كمسؤول،
ثم كلمة المرور، ثم قم بتحديث الطلب بحيث
يحتوي الرأس الآن على رأس التفويض هنا مع المعلومات هناك.
ثم اسمحوا لي أن أرسل طلب جيت على هذا الجزء.
إذا أرسلت طلب Git،
ثم ردا على ذلك، ترى أن طلب Git كان ناجحا.
لاحظ أيضا بعض الأشياء الأخرى.
سترى الحالة 200 موافق.
لاحظ أيضًا أنه تم إعداد ملف تعريف ارتباط على جانب العميل في داخل ساعي البريد هنا.
يحتوي ملف تعريف الارتباط هذا على معلومات.
سنلقي نظرة على تفاصيل ملف تعريف الارتباط خلال دقيقة
ثم، عندما تنظر إلى الرأس،
ترى في رأس هذه القيمة هنا قائلا مجموعة كوكي،
ثم هذه المعلومات التي تأتي هنا.
الآن، إذا نظرتم إليها بعناية،
سترى شيئا هنا يقول المستخدم يساوي،
ومن ثم ترى هذه القيمة هنا، المشرف هناك.
لذلك، لاحظت أن شيئا ما قد تم محاطة داخل ملف تعريف الارتباط.
إذا كنت ترغب في فحص ملف تعريف الارتباط فعليًا،
فاذهب إلى هنا في ساعي البريد
ثم انقر فوق هذه المفاتيح، ثم سيظهر لك كل ملفات تعريف الارتباط التي تم إعدادها على جانب العميل هذا.
ثم، على وجه الخصوص، اسمحوا لي الآن مسح كل هذه الكوكيز الأخرى.
ربما كنت قد استخدمت بعض من هذه لسبب آخر.
لذلك اسمحوا لي فقط تنظيف تلك الكعك.
على أي حال، إذا رأيتهم،
يمكنك فقط تركهم هناك.
ليست مشكلة كبيرة
ركز بشكل خاص على المضيف المحلي هنا،
ثم ترى ملف تعريف الارتباط هذا هنا.
ما عليك سوى النقر على ملف تعريف الارتباط،
ثم ترى القيمة الفعلية داخل ملف تعريف الارتباط الذي يتم تخزينه هناك.
ثم أيضا تاريخ انتهاء الصلاحية لإعداد ملف تعريف الارتباط هذا هنا.
الآن، ستكون هذه القيمة بالضبط ما رأيته
في ملف تعريف الارتباط المحدد الذي جاء من جانب الخادم.
الآن، هذا يعني أيضًا أنه في الطلبات اللاحقة التي تدخل،
لذلك حتى إذا قمت بمسح
تفويضي، وحتى إذا قمت بإزالة رأس التفويض،
لأنه تم إعداد ملف تعريف الارتباط
هذا، تم إعداد ملف تعريف الارتباط هذا على مضيف محلي،
كل طلب لاحق يذهب إلى هذا الخادم ملف تعريف الارتباط هذا.
لذلك على الرغم من أنني لن أقوم بإعداد الرؤوس هناك،
إذا أرسلت الطلب،
فستلاحظ أن طلب Git يعمل تمامًا كما كان
من قبل دون أي مشكلة، نظرًا لحقيقة أن كل طلب صادر سيتضمن
ملف تعريف الارتباط هذا تلقائيًا في الطلب الصادر من ساعي البريد هنا.
وهذا يدل على استخدام ملفات تعريف الارتباط في تطبيقنا.
مع هذا، رأينا كيف يمكن إعداد ملفات تعريف الارتباط
ومعالجتها في خادمنا السريع باستخدام محلل ملفات تعريف الارتباط،
وكيف يمكننا إعداد ملفات تعريف الارتباط الموقعة.
هذا هو الوقت المناسب بالنسبة لك للقيام جيت الالتزام مع ملفات تعريف الارتباط الرسالة.