Безопасная передача токена авторизации из шаблона в статический javascript в Django

Я добавляю пользовательскую страницу администрирования на сайт администратора Django, где вошедший пользователь может открыть текстовый файл, затем он разбирается, и разобранные данные добавляются как новая запись в таблицу с использованием назначенного пользователю токена. Безопасен ли описанный ниже метод? Есть ли лучшая стратегия?

Я добавил пользовательский шаблон:

{% extends "admin/change_form.html" %}
{% load static %} 
{% block extrahead %}
    {{ block.super }}
    <script type="application/javascript" src="{% static 'js/add_cal_file.js' %}"></script>
{% endblock extrahead %}
{% block content %}
<h1>Add cal file</h1>
<div class="mb-3">
  <input class="form-control" type="file" id="formFile" accept=".cal" token="{{ request.user.auth_token }}">
</div>
{% endblock %}

Когда пользователь выбирает файл, вызывается следующий парсер в static 'js/add_cal_file.js:

const parseCal = async (fileContents, token) => {
    
    // parses fileContents to postRequest here

    const response = await fetch("/api/add-calibration", {
        method: 'POST',
        headers: {"Content-Type": "application/json",
         "Authorization": "Token "+token
        }, 
        body:  JSON.stringify(postRequest)
    })
}

Представление по адресу /api/add-calibration защищено с помощью @permission_classes([IsAuthenticated]), ограничивающего его только запросами, которые предоставляют токен авторизации

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