قام تطبيق ApolloClient القديم بتمرير ملفات تعريف الارتباط تلقائيًا.
يستخدم HttpLink ، BatchHttpLink أبولو-جلب ، والذي يستخدم الإحضار المتماثل. بشكل افتراضي ، لا يرسل الجلب المتماثل ملفات تعريف الارتباط.
الحل الحالي معقد جدًا:
const uri = '/api/graphql';
// by default, apollo-link-http doesn't send cookies
const customFetch = (uri, options) =>
fetch(uri, {
...options,
credentials: 'same-origin',
});
// create an apollo fetch instance with our hacked fetch instance
const apolloFetch = createApolloFetch({
uri,
customFetch,
});
const link = new BatchHttpLink({ uri, fetch: apolloFetch })
يمكن حل هذه المشكلة بعدة طرق:
1) يمكننا تمكينه افتراضيًا لتقليد الإصدار القديم
2) يمكننا إضافة خيار آخر إلى apollo-link-http و apollo-link-batch-http ، يسمى fetchOption
، لذلك يمكننا فعل شيء مثل
const fetchOptions = {
credentials: 'same-origin',
};
const link = new BatchHttpLink({ uri, fetchOptions });
أنا على استعداد لإجراء الإصلاح + الاختبارات ، ما عليك سوى المساعدة في تحديد الطريقة التي نريد أن نسير بها :-)
النتيجة المنشودة:
يجب إرسال ملفات تعريف الارتباط عند تقديم الطلب
النتيجة الفعلية:
لا يتم إرسال ملفات تعريف الارتباط
بله ، نسخة من رقم 44
آسف!
لست متأكدًا من أن هذه نسخة مكررة كاملة من رقم 44. عالجت هذه المشكلة HttpLink
، وليس BatchHttpLink
. ما زلنا بحاجة إلى استخدام نفس الحل البديل حتى يتم تحديث BatchHttpLink
لدعم بيانات الاعتماد أيضًا.
هل يمكننا إعادة فتح هذه المشكلة حتى تتم معالجة BatchHttpLink أيضًا؟
+1 إلى mjfaga ، لدي نفس المشكلة مع BatchHttpLink
متفق عليه ، لا تزال هذه مشكلة مفتوحة للدفعة 👍
يبدو أن هناك مشكلة أخرى كانت مفتوحة لهذا الرقم 343 ، سأعيد إغلاق هذا.
التعليق الأكثر فائدة
+1 إلى mjfaga ، لدي نفس المشكلة مع BatchHttpLink