几个小时以来我一直在寻找解决方案,但找不到任何解决方案。
通过<p onclick="change(this)">HELLO WORLD</p>
<p onclick="change(this)">HELLO WORLD</p>
<p onclick="change(this)">HELLO WORLD</p>
<p onclick="change(this)">HELLO WORLD</p>
window.addEventListener('storage', function(e) {
if(!Auth.loggedIn()) {
// eslint-disable-next-line
location.reload(true);
}
});
插件进行发布请求无法正常工作:
nuxt.config.js 文件:
axios
axios插件:
nuxt
并调用方法:
axios: {
debug: true,
baseURL: `${process.env.API_PROTOCOL}://${process.env.API_HOST}${process.env.API_PORT ? `:${process.env.API_PORT}` : ''}${process.env.API_PREFIX}`,
},
通过返回CSRF令牌,export default function ({
$axios, redirect, store,
}) {
$axios.setHeader('Content-Type', 'application/json');
$axios.setHeader('Accept', 'application/json');
$axios.onRequest((config) => {
const configLocal = config;
const { jwt } = store.state.authentication;
if (jwt) {
configLocal.headers.JWTAuthorization = `Bearer ${jwt}`;
}
if (config.method === 'post') {
configLocal.headers['X-Requested-With'] = 'XMLHttpRequest';
configLocal.headers['X-XSRF-TOKEN'] = store.state.authentication.crfToken;
}
});
}
就像一个吊饰一样工作:
authenticateUser({ commit }, { data }) {
return this.app.$axios.$post('auth/login', data).then(({ token }) => {
this.$cookies.set('jwt', token);
commit('setAction', { key: 'jwt', value: token });
}).catch(e => console.log(e));
},
getCRFToken({ commit }) {
return this.app.$axios.$get('auth/token').then(({ token }) => {
this.$cookies.set('crf', token);
commit('setAction', { key: 'crfToken', value: token });
});
},
但是每当我登录时...
失败。正在github中进行挖掘-试图在许多地方设置getCRFTToken
标头,但没有-仍然不起作用。有人知道这种情况的解决方案吗?
答案 0 :(得分:0)
在config文件夹中,有 shield.js 文件,该配置阻止您的路由。 在文件中将csrf中的enable设置为 false 。 然后它将开始唤醒。