اذهب إلى المحتوى

السؤال

نشر

لدي مشروع 

وقمت بانشائه باك اند لارافل و فرونت اند رياكت 

 (API)

عندما كنت على اللوكال 

يتم تخزين التوكين ويتم جلب بيانات اليوزر من خلال المسار "api/user"

ولكن بعد رفعه على استضافة hostinger - laravel

و netlify - react

 

لايتخزن التوكين

ما السبب ؟

رغم اني غيرت الروابط في .env

Recommended Posts

  • 0
نشر

من السهل جداً أن نقع في كتابة العناوين بشكل خاطئ خصوصاً أن لديك خادمين منفصلين يعمل كل منهما على إستضافة مستقلة حسب ما ذكرت في سؤالك. فربما أنت لا ترسل ال auth token من الأصل فلا يتم إستلام شئ في backend وبالتالي لا يتم حفظه أو أن تعود لك رسالة الخطأ 401 عند محاولة الولوج الى محتوى محمي بمعنى أنك لم تسجل الدخول . أيضاً هل ال cors مفعلة لديك في backend ؟ وهل domain ال frontend  لديك مسموح له في إعدادات cors بالولوج الى الخادم في backend؟ 

كل هذه تكهنات محتملة بدون وجود أكواد لمعاينتها وتشخيص الخلل.

  • 0
نشر

أولاً عليك تغيير الروابط المطلوبة في ملف .env على الاستضافة وحفظ التغييرات بشكل صحيح، وافحص الملف مرة أخرى وتأكد من أن الروابط الصحيحة تم تعيينها لمتغيرات البيئة.

حيث أن هناك إعدادات خاصة بمتغيرات البيئة في الاستضافة وعليك ضبطها وإعداداها بناءًا على المتغيرات في مشروعك.

وهل البيانات المرسلة بواسطة طلبات API تتم معالجتها بشكل صحيح وتخزينها بنجاح.

وقد يفيد ااستخدم أدوات التطوير المتاحة مثل تفقد هل يوجد خطأ في الكونسول أو الإعتماد Postman للتحقق من طلبات API الصادرة والاستجابات المستلمة، وتحقق من رموز الاستجابة (response codes) والبيانات المرسلة والمستلمة للتأكد من أنه لا يوجد أي خطأ في عملية استدعاء البيانات وتخزينها.

  • 0
نشر
بتاريخ 2 ساعة قال علي عبد محسن:

من السهل جداً أن نقع في كتابة العناوين بشكل خاطئ خصوصاً أن لديك خادمين منفصلين يعمل كل منهما على إستضافة مستقلة حسب ما ذكرت في سؤالك. فربما أنت لا ترسل ال auth token من الأصل فلا يتم إستلام شئ في backend وبالتالي لا يتم حفظه أو أن تعود لك رسالة الخطأ 401 عند محاولة الولوج الى محتوى محمي بمعنى أنك لم تسجل الدخول . أيضاً هل ال cors مفعلة لديك في backend ؟ وهل domain ال frontend  لديك مسموح له في إعدادات cors بالولوج الى الخادم في backend؟ 

كل هذه تكهنات محتملة بدون وجود أكواد لمعاينتها وتشخيص الخلل.

نعم
لقد قمت باختبار الباك اند في Postman

والبيانات تُرسل وتخزن بشكل صحيح

 

وقمت بتعديل الملف في .env لكن لم ينجح الامر

فضلاً وليس امراً

ان اتواصل معك عبر الرسائل الخاصة وارسل لك رابط الكود على القت هب

  • 0
نشر

يحتمل أن تكون هنالك أسباب عدة لمثل هاته المشكلة، ولذلك:

  • تحقق من إعدادات الـ CORS في الخادم الخاص بك. خصوص إذا كنت تستخدم طريقة مصادقة مباشرة عبر API (مثل JWT)، قد تحتاج إلى ضبط إعدادات CORS للسماح بالوصول إلى الموارد عبر النطاقات المختلفة.
  • تأكد من عدم وجود أي أخطاء في الكونسول مادامت أن المشكلة تحدث على مستوى تطبيق رياكت، قد يكون هنالك سبب يجعل من عدم الممكن تخزين التوكن على تطبيق العميل.
  • قم بإختبار كل من التطبيقين على حدة واعمل على تضييق نطاق المشكلة، فتطبيق العميل مثلا يمكنك اختباره على بيئة التطوير مربوطا بتطبيق الخادم مرفوعا على الخادم، ثم تطبيق الخادم باستخدام بوستمان وحدد المشكلة.
  • بما أنك تقوم بفصل تطبيق الخادم عن تطبيق العميل، فتأكد أيضا من تحديد base url المناسب لتطبيق الخادم في تطبيق العميل، يحتمل أنه لا يزال يشير إلى base url الخاص ببيئة التطوير.
  • 0
نشر
بتاريخ 1 ساعة قال علي العبدالله:

نعم
لقد قمت باختبار الباك اند في Postman

والبيانات تُرسل وتخزن بشكل صحيح

 

وقمت بتعديل الملف في .env لكن لم ينجح الامر

فضلاً وليس امراً

ان اتواصل معك عبر الرسائل الخاصة وارسل لك رابط الكود على القت هب

يمكنك مشاركة جزء الكود المتعلق بالمشكلة هنا.  إذا كنت تطور تطبيقاً لأجل عملك مثلاً ، فليس من الحكمة مشاركة كامل المشروع.

  • 0
نشر
بتاريخ 2 ساعة قال علي العبدالله:

نعم
لقد قمت باختبار الباك اند في Postman

والبيانات تُرسل وتخزن بشكل صحيح

 

وقمت بتعديل الملف في .env لكن لم ينجح الامر

فضلاً وليس امراً

ان اتواصل معك عبر الرسائل الخاصة وارسل لك رابط الكود على القت هب

عليك بإضافة متغيرات البيئة  Environment variables في Netlify تفقد التالي:

  • 0
نشر

هناك عدة أسباب محتملة لعدم تخزين التوكن بشكل صحيح بعد رفع مشروعك على استضافة مختلفة. يمكنك مراجعة النقاط التالية لحل المشكلة:

التحقق من إعدادات ملف .env:

تأكد من أنك قمت بتعديل روابط قاعدة البيانات وإعدادات الاستضافة الجديدة في ملف .env الخاص بتطبيق Laravel.

تأكد من صحة المعلومات المتعلقة بالتخزين وقاعدة البيانات وأنها تتوافق مع إعدادات الاستضافة الجديدة.

التحقق من إعدادات الاستضافة الجديدة:

تحقق من أن استضافة Laravel واستضافة React قد تم تكوينهما بشكل صحيح وفقًا للمتطلبات اللازمة لتخزين التوكنات.

تحقق من الإعدادات اللازمة في استضافة Laravel للسماح بتخزين واستعادة التوكنات بشكل صحيح.

التحقق من إعدادات التحقق في Laravel:

تأكد من أنك قمت بتحديث إعدادات التحقق والمصادقة في Laravel بشكل صحيح.

تحقق من استخدام جلسات Laravel وأن التطبيق مُعين لتخزين التوكنات بشكل صحيح في الجلسة.

التحقق من إعدادات الاستضافة:

تحقق من الإعدادات الخاصة بالاستضافة الجديدة. قد تحتاج إلى إعدادات خاصة للسماح بتخزين التوكنات.

تواصل مع مزود الاستضافة للتأكد من أن الإعدادات اللازمة مُفعّلة ومسموح بها لتخزين التوكنات.

فحص أخطاء السجل:

تحقق من ملفات السجل (logs) في Laravel للبحث عن أي أخطاء أو رسائل تحذير توضح المشكلة.

يمكن أن تزودك هذه السجلات بمعلومات إضافية حول مشكلة عدم تخزين التوكن.

تحقق من تكوين تطبيق React:

تأكد من أنك تنفذ طرق الاسترجاع والحفظ للتوكنات بشكل صحيح في تطبيق React الخاص بك.

تحقق من كيفية الوصول إلى توكنات المستخدم في طرفية العميل (client-side) والتأكد من نقلها وتخزينها بشكل صحيح.

إذا استمرت المشكلة، يفضل التواصل مع دعم الاستضافة الخاصة بك أو فريق دعم Laravel للحصول على مساعدة إضافية ودعم تقني لتشخيص وحل المشكلة بشكل دقيق.

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...