كيفية فرض بيانات الاعتماد على كل طلب Axios

كنت أستخدم Axios للتفاعل مع واجهة برمجة التطبيقات التي تعين رمز JWT المميز.

أعادت واجهة برمجة التطبيقات الرمز المميز في ملف تعريف الارتباط وسرعان ما أدركت أنني بحاجة إلى ضبطهwithCredentials: trueفي خيارات Axios:

import axios from 'axios'

axios.post(API_SERVER + ‘/login’, { email, password }, { withCredentials: true })

وإلا فلن يتم حفظ ملف تعريف الارتباط.

كنت بحاجة أيضًا إلى ضبطه لكل طلب آخر أرسلته ، لإرسال رمز JWT إلى الخادم:

axios.get(API_SERVER + '/todos', { withCredentials: true })

الآن ، لا بأس في بعض الطلبات ، ولكن بالنسبة للكثيرين ، ربما ترغب في استخدام تكوين عام.

يمكنك القيام بذلك باستخدام ملفcreate()طريقة لإنشاء نسخة Axios جديدة ستستخدمها بعد ذلك في طلباتك:

import axios from 'axios'

const instance = axios.create({ withCredentials: true })

instance.get(API_SERVER + ‘/todos’)

من الشائع أيضًا إضافة ملفbaseURLمنشأه:

import axios from 'axios'

const instance = axios.create({ withCredentials: true, baseURL: API_SERVER })

instance.get(‘todos’)

في React اعتدتaxios-hooksو لتكوينwithCredentialsلقد استخدمت هذا الرمز:

import axios from 'axios'
import useAxios, { configure } from 'axios-hooks'

const instance = axios.create({ withCredentials: true, baseURL: API_SERVER, })

configure({ instance })

const [{ data, loading, error }, refetch] = useAxios(‘todos’)


المزيد من دروس js: