Как я могу оптимизировать запросы 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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