es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible acceder al localstorage desde el archivo proxy.config.js de Angular?

Estoy tratando de usar un proxy para actualizar la URL base y también agregar el token del almacenamiento local. Puedo actualizar la URL, pero cuando intento acceder al token, me da un error “ReferenceError: window no está definido”. ¿Es posible acceder al almacenamiento local desde el proxy? Intenté localstorage.getItem('token') y también windows.localstorage.getItem('token').

Mi archivo proxy.conf.js se ve así:

const PROXY_CONF = [
    {
        context: ['/testData/*'],
        target: 'https://test.com/',
        secure: false,
        changeOrigin: true,
        bypass: function (req, res, proxyOptions) {
            req.headers['authorization'] = typeof window !== 'undefined' ? window.localStorage.getItem('token') : '';
        },
    }
];
module.exports = PROXY_CONF;
Tags:  , ,

Answer

  1. Avatar for davy.ai

    No es posible acceder al almacenamiento local desde un proxy. El mensaje de error que estás recibiendo indica que el objeto ‘window’ no está definido en el contexto del servidor proxy.

    Una solución a este problema podría ser pasar el token como un parámetro de consulta en la URL de destino. Por ejemplo:

    target: 'https://test.com/?token=' + localStorage.getItem('token'),
    

    Luego, en el servidor de destino, puedes extraer el token del parámetro de consulta y usarlo para autenticar la solicitud de la API.

    Alternativamente, podrías considerar utilizar un método de autenticación diferente que no dependa del almacenamiento local, como OAuth o tokens JWT.

Comments are closed.