Среднее ПО для проверки/обновления маркеров доступа и обновления JWT

У меня есть приложение с аутентификацией JWT, написанное на React/ Django / Django-allauth.

У меня есть конечная точка для проверки/обновления моего маркера доступа, и она отлично работает. Мой вопрос заключается в том, где разместить логику обновления, чтобы она автоматически обрабатывалась перед каждым запросом? Есть ли промежуточное ПО, которое я могу использовать, или есть способ переопределить fetch?

По сути, я хочу, чтобы приложение проверяло токен, обновляло его, если необходимо, и перенаправляло неаутентифицированного пользователя на вход в систему для каждого запроса, зависящего от JWT авторизации. Я также не хочу переписывать эту логику снова и снова.

Я думаю переопределить fetch


async function handle_token() {
    const {valid, status} = await API.process_token()
    return {
        status,
        valid,
    } 
}

// initialize the fetch object to minimize code repeat at every request
// https://stackoverflow.com/questions/44820568/set-default-header-for-every-fetch-request
function updateOptions(options) {

  const update = { ...options }
  update.headers = Object.assign({
        'Content-Type': 'application/json',
        'Accept': 'application/json'
  }, update.headers ? update.headers : {})

  if(update.jwt) {
    const token = localStorage.getItem('access') ? localStorage.getItem('access') : ''
    update.headers = Object.assign(update.headers, {'Authorization': `Bearer ${token}`})

    /*******************************************************************************
     * Perhaps put token logic here but unser how to to handle it
    ********************************************************************************/
    const {valid, status} = handle_token()
}

  return update;
}


function fetcher(url, options) {
  return fetch(url, updateOptions(options));
}

export default fetcher;

Или, может быть, есть промежуточное ПО, которое принято использовать? Спасибо

Вернуться на верх