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

السؤال

نشر

أحاول إضافة التوثيق ل API مبنية بإطار العمل express.js في node.js، ويتم إرسال الطلبات من قبل الزبون باستخدام axios. استطعت إيجاد الحقل Set-Cookie ضمن الطلب من خلال استعراضه:

Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 355
Content-Type: application/json; charset=utf-8
Date: Mon, 27 Jul 2021 05:59:01 GMT
ETag: W/"163-PAMc87SVHWkdimTJca7oRw"
Set-Cookie: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; Max-Age=3.6; Path=/; Expires=Fri, Mon, 27 Jul 2021 05:59:01 GMT ; HttpOnly
X-Powered-By: Express

ولكن لا يتم إضافة ال cookies فعلياً. هل يوجد طريقة لأستطيع إضافتها وإكمال التوثيق من خلال axios؟

Recommended Posts

  • 1
نشر

يمكنك القيام بذلك عن طريق استخدام الخاصية withCredentials 

axios.get('some api url', {withCredentials: true});

 

حيث أن ال XMLHttpRequest من نطاق آخر لا يمكنه القيام ب set cookie values في النطاق الخاص بهم إلا إذا كانت الخاصية withCredentials مضبوطة بالقيمة true قبل إرسال الطلب. 

 

  • 1
نشر

حتى تستطيع إضافة ال cookies يجب عليك أن يكون الطلب أو ال request  مرفق بالخاصية withCredentials بالقيمة true ويمكنك تنفيذ ذلك سواء ب 

  • jQuery
xhrFields: {withCredentials: true}
  • الدالة fetch 
    credentials: 'include'
  • Axios
    axios.get('some api url', {withCredentials: true});

     

يمكنك من خلال إعدادات axios وضع ال with credentials ل true بدلاً من وضعها لكل طلب كالتالي

axios.defaults.withCredentials = true

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...