За последние 5-6 дней мне не удалось найти какой-либо действительной документации о том, как решить мою проблему отправки POST-запросов в защищенный API-интерфейс JWT (Auth0), построенный на Django.
Я надеюсь, что кто-то может помочь проверить, возможна ли отправка POST-запросов или какие альтернативы я могу рассмотреть.
Моя текущая проблема связана с предполагаемой последней серьезной ошибкой при использовании токенов JWT Auth0 через метод Client Credential Flow M2M.Хотя я могу понять, что я использую уникальную настройку:
- React Frontend
- Django Backend
- Нет логина пользователя, предназначенного для доступа к защищенному API-доступу
Полагаю, это только что привело меня к вопросу о том, просто ли «Могу ли я даже отправлять запросы POST на защищенный бэкэнд Auth0 JWT Token?» .Если это возможно, надеюсь, что кто-то может перенаправить меня к потенциальному решению, иначе, по крайней мере, я знаю, что мне действительно нужно полностью найти что-то еще.
Потенциальные решения, которые я вижу только в интерфейсе React, состоят в том, чтобыфактически создать:
- Express.js бэкэнд
- Включить доступ для входа в учетную запись пользователя
Это не было бы идеально, так как оба варианта не предназначенысценарий использования, и он потребует от меня значительного изменения кода, особенно для перестройки всего бэкэнда.Я предполагал запустить его 2-3 недели назад, но, очевидно, сейчас это последний контрольно-пропускной пункт, с которым я столкнулся.
Надеюсь, какая-то добрая душа может помочь перенаправить меня на потенциальное решение о том, как я могу отправить POSTзапросы, с проверкой токена JWT, к бэкэнду Django?
Используемый текущий код выглядит следующим образом, и, к сожалению, опция GET работает, но эта опция запроса POST, похоже, не работает:
let getBackendConfig = {
headers: {
"Content-Type": "application/json",
Authorization: process.env.REACT_APP_JWT_AUTH0_HEADER + " " + auth0Token,
},
};
async function submitLocationViaPOST( dataToPOST ) {
setIsLocationUploaded("process");
try {
Promise.all([
await axios
.post(urlSubmitLocationPOSTAPI, dataToPOST, getBackendConfig)
.then(response => {
console.log("? urlSubmitLocationPOSTAPI Reply Data: ", response);
if (response.status === 201) {
// EXECUTE ONLY IF RESPONSE IS "201" --- MEANING ENTRY CREATED SUCCESSFULLY
setIsLocationUploaded("finish");
}
})
]);
}
catch (err) {
setIsLocationUploaded("error");
console.log("? urlSubmitLocationPOSTAPI Error: " + err);
}
}
В настоящее время все запросы GET, отправленные в защищенный бэкэнд API JWT (Auth0), работают.Однако, когда я пытаюсь отправить запрос POST, все терпит неудачу.
Учитывая, что это процесс без входа в систему под учетной записью пользователя, а также бэкэнд Django, созданный с помощью Django REST Framework, этого не происходит.много сообщений об ошибках, за исключением стандартной ошибки 500, которая исчезнет, когда я отключу процесс аутентификации JWT, что, в свою очередь, нанесет ущерб первоначальной цели создания этой меры безопасности.
Надеюсь, кто-то с большими знаниями об этом можетпомогите мне в этом вопросе.Заранее большое спасибо!