Lo más raro le está pasando a mi aplicación de reacción. Moví el Id. del cliente y el Secreto del cliente a las variables de entorno y los estoy cargando en este archivo usando dotenv para crear una solicitud de autorización :
// 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; Pero recibo un Failed to load resource: the server responded with a status of 400 () :
{ error: "invalid_client", error_description: "Invalid client" }La parte extraña es que si codificas la identificación y el secreto del cliente, funciona perfectamente.
Incluso imprimí las variables de entorno en la consola y obtengo los valores correctos, pero en el momento en que los uso en el encabezado de autorización, deja de funcionar.
¿Hay alguna forma de arreglar esto?
Por lo que veo que haces, usas una variable env en reaccionar que no está disponible en el navegador.
Solo una nota al margen , tal vez no debería cargar secretos en el navegador ya que no es un entorno seguro. Más bien, use la estrategia OAuth para usar su identificación de cliente. Aquí hay un enlace
Para cargar variables de entorno en su aplicación. Necesitarás prefijarlo con REACT_APP_ . Aquí hay un enlace
aquí hay un ejemplo
.env
REACT_APP_CLIENT_ID=my-spotify-client-idTuve este error una vez. Restablecí mi client_secret , agregué el nuevo valor en el archivo .env , pero olvidé terminar mi aplicación y volver a ejecutarla. Después de volver a ejecutar mi aplicación, funcionó.