Как использовать запрос Axios 'get' для фактического перенаправления на набор страниц в express / node? - PullRequest
1 голос
/ 10 ноября 2019

Я довольно озадачен тем, почему, когда я делаю запрос get с помощью axios, он не может перенаправить на представление, которое я установил в node / express? Я хочу, чтобы он действовал так, как будто я только что набрал / adminPortal в адресной строке браузера? Причина, по которой мне нужно это сделать, заключается в том, что AXIOS добавляет маркер аутентификации пользователя в каждом запросе get. Например, когда пользователь заходит в / adminPortal, серверная сторона проверит, чтобы убедиться, что элемент авторизации в заголовке запроса совпадает с элементом администратора. В тот момент, когда я получаю ответ console.log, это просто набор html, я действительно хочу, чтобы страница перенаправлялась на ответ, как обычно? Это код, который прикрепляет маркер авторизации пользователя на стороне клиента: axios.defaults.headers.common['authorization'] = idToken; Это код на стороне клиента, выполняющий запрос к странице (/ adminPortal index).

  axios({
                url: '/adminPortal',
                method: 'get'
              })
            axios.get('/adminPortal', {

            // })
            .then(function (response) {

                response.render();
            })
            .catch(function (error) {
                console.log(error);
            })
            .finally(function () {
                // always executed
            }); 

Это сторона сервера. код MIDDLEWARE, который запускается каждый раз, когда запрашивается / adminPortal GET, чтобы проверить авторизацию для этого. Как только это условие выполнено, он должен вернуть страницу и браузер, чтобы он был перенаправлен на указанную страницу, но это не так: (Я использую Firebase в качестве моего бэкенда)


    //Check if request is from User account
    isLoggedInAsUser: async function(req, res, next){

            req.header('User-Agent')
            const idToken = req.headers.authorization;
            console.log("idToken:"+idToken);
            console.log("TEST"+ JSON.stringify(req.headers));

            try {
                const decodedToken = await admin.auth().verifyIdToken(idToken);
                if(decodedToken){
                    req.body.uid = decodedToken.uid;
                    return next();
                } else{
                    return res.status(401).send("You are not autheeeroized");
                }
            } catch (e){
                return res.status(401).send("You are not authroized" + e);
            }

    } 


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...