Как я могу оптимизировать запросы Laravel Sanctum SPA с помощью специального пакета npm, такого как lara-fetch?Javascript

Форум по Javascript
Anonymous
Как я могу оптимизировать запросы Laravel Sanctum SPA с помощью специального пакета npm, такого как lara-fetch?

Сообщение Anonymous »

Проблема
При работе над SPA, использующими Laravel Sanctum для аутентификации, я заметил повторяющийся процесс настройки:
  • Вызов /sanctum/csrf-cookie перед каждым защищенным запросом
  • Прикрепление X-XSRF-TOKEN и withCredentials вручную
  • Обработка _method переопределения для запросов PUT/PATCH
  • Управление несколькими параметрами запроса в настройках fetch/axios
Пример решения
Чтобы упростить этот рабочий процесс, я создал небольшой пакет npm под названием lara-fetch (~3,5 КБ), который автоматически обрабатывает получение токенов CSRF, управление учетными данными и метод HTTP спуфинг — все с минимальной конфигурацией и поддержкой TypeScript.
Вот основной пример использования 👇

Код: Выделить всё

import { laraFetch } from "lara-fetch";

const res = await laraFetch.post("/login", {
body: JSON.stringify({ email, password }),
});
По умолчанию Вы можете один раз переопределить значения по умолчанию в файле записи приложения:

Код: Выделить всё

laraFetch.configure({
baseUrl: "https://myapp.com",
debug: true // disable in production,
... // few more
})
В настоящее время он обрабатывает:
  • извлечение и внедрение токенов CSRF
  • управление учетными данными и заголовками
  • вывод методов для тел, закодированных в FormData/URL
  • Вспомогательные методы (.get, .post, .put, .patch, .del)
Вопрос
Я обдумываю улучшения. Однако мне бы хотелось услышать мнение сообщества:
  • Есть ли крайние случаи или проблемы безопасности, о которых мне следует знать (например, пользовательские настройки промежуточного программного обеспечения Sanctum)?
  • Какие дополнительные функции могут сделать его более надежным для производственных SPA?
  • Существует ли лучший архитектурный подход для достижения той же цели, не полагаясь на библиотеку-оболочку?
Ссылки:
📦 lara-fetch на npm
Будем признательны за любые отзывы и предложения!

Подробнее здесь: https://stackoverflow.com/questions/798 ... age-like-l

Вернуться в «Javascript»