Самое странное происходит с моим реагирующим приложением. Я переместил идентификатор клиента и секрет клиента в переменные среды и загружаю их в этот файл с помощью dotenv для создания запрос авторизации:
// Inject environment variables
import dotenv from 'dotenv';
dotenv.config();
const clientID = process.env.CLIENT_ID;
const clientSecret = process.env.CLIENT_SECRET;
// Request authorization
const authOptions = {
url: "https://accounts.spotify.com/api/token",
headers: {
"Authorization":
"Basic " +
new Buffer.from(clientID + ":" + clientSecret).toString("base64"),
"Content-Type": "application/x-www-form-urlencoded",
},
form: {
grant_type: "client_credentials",
},
json: true,
};
export default authOptions;
Но я получаю ошибку Failed to load resource: the server responded with a status of 400 ():
{ error: "invalid_client", error_description: "Invalid client" }
Странная часть заключается в том, что если жестко закодировать идентификатор клиента и секрет, он работает безупречно.
Я даже напечатал переменные среды в консоли и получаю правильные значения, но в тот момент, когда я использую их в заголовке авторизации, он перестает работать.
Есть ли способ исправить это?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


У меня была эта ошибка один раз. Я сбросил свой client_secret, добавил новое значение в файл .env, но забыл закрыть приложение и запустить его снова. После того, как я перезапустил свое приложение, оно сработало.
Я имею в виду перезапустить приложение Nodejs.
Да, я тоже так делал, но безрезультатно
Насколько я вижу, вы используете переменную env в реакции, которая недоступна в браузере.
Just a side note, maybe you shouldn't load secrets in the browser as that isn't a secure environment. Rather use the OAuth strategy for using your client id. Here's a link
Чтобы загрузить переменные среды в ваше приложение. Вам нужно будет добавить к нему префикс REACT_APP_. Вот ссылка
Вот пример
.env
REACT_APP_CLIENT_ID=my-spotify-client-id
К сожалению, это не сработало. Я даже удалил приложение на панели инструментов Spotify и создал другое, но проблема все еще сохраняется.