Как я могу установить свой jwt в качестве файла cookie, чтобы предотвратить вход в систему при обновлении? - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь сохранить JWT в виде файла cookie, чтобы мой вызов Axios не создавал новый вызов каждый раз и заставлял меня входить в систему каждый раз при обновлении приложения

Мне кажется, что я на правильном пути, используя JS-Cookie и установка cookie для моего JWT, предоставляемого API.Тем не менее, я все еще перенаправляю при входе в систему каждое обновление.Как я могу сохранить authToken как мой оригинальный токен JWT?

import axiosAPI from 'axios';
import Cookies from 'js-cookie';

let authToken = null;

const axios = axiosAPI.create({
    baseURL: `${baseURL}`
});


// User login
export const loginUser = (data) => {
    return new Promise((resolve, reject) => {
        axios.post(`${baseURL}/jwt-auth/v1/token`, data)
            .then((res) => {
                if (Cookies.get('token') == null) {
                    authToken = res.data.token;
                } else {
                    Cookies.set('token', res.data.token);
                    authToken = Cookies.get('token');
                }

                // Adds the token to the header
                axios.defaults.headers.common.Authorization = `Bearer ${authToken}`;

                resolve(res.data);
            })
            .catch((error) => {
                reject(error);
            });
    });
};

Я также попробовал это:

import axiosAPI from 'axios';
import Cookies from 'js-cookie';

const authToken = Cookies.get('token');

const axios = axiosAPI.create({
    baseURL: `${baseURL}`
});

// User login
export const loginUser = (data) => {
    return new Promise((resolve, reject) => {
        axios.post(`${baseURL}/jwt-auth/v1/token`, data)
            .then((res) => {
                if (Cookies.get('token') === null) {
                    Cookies.set('token', res.data.token);
                }

                // Adds the token to the header
                axios.defaults.headers.common.Authorization = `Bearer ${authToken}`;

                resolve(res.data);
            })
            .catch((error) => {
                reject(error);
            });
    });
};

, что не позволяет мне полностью войти в систему

...