Есть ли лучший способ загрузить частный скрипт с помощью JWT?Javascript

Форум по Javascript
Ответить
Anonymous
 Есть ли лучший способ загрузить частный скрипт с помощью JWT?

Сообщение Anonymous »

Я написал скрипт для загрузки административного пакета js и стиля на свой сайт после получения JWT. Выглядит вот так:

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

    async loadBundle(){
if (this.loaded){
return;
}

const [style, bundle] = await Promise.all([
fetch("/styleAdmin", {
method: "GET",
headers: {
"Authorization": "Bearer "+this.token,
"Cache-Control": "no-store"
}
}),
fetch("/bundleAdmin", {
method: "GET",
headers: {
"Authorization": "Bearer "+this.token,
"Cache-Control": "no-store"
}
})
]);
if (style.status !== 200 || bundle.status !== 200){
throw new Error('Loading error.');
}
const [css, js] = await Promise.all([style.text(), bundle.text()]);
this.loaded = true;
const styleTag = document.createElement("style");
styleTag.innerHTML = css;
const scriptTag = document.createElement("script");
scriptTag.innerHTML = js;
document.head.appendChild(styleTag);
document.head.appendChild(scriptTag);
}
Пакет содержит метод window.main, который я вызываю после его загрузки и передаю ему токен. Таким образом, часть авторизации полностью общедоступна, но контент администратора доступен только с действительным JWT.
Я не горжусь этим кодом. Я имею в виду, что это почему-то кажется неправильным, но поскольку у меня нет сеанса на стороне сервера и файла cookie сеанса, я не уверен, как решить эту проблему с помощью JWT.
Еще одна вещь на стороне сервера: я хочу обслуживать статические файлы с помощью CloudFlare из AWS S3, и я не уверен, как там проверить JWT.

Подробнее здесь: https://stackoverflow.com/questions/799 ... t-with-jwt
Ответить

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

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

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

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

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