欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎么解决“laravel X-CSRF-TOKEN','Authorization”问题?

程序员文章站 2022-05-24 09:19:53
...

怎么解决“laravel X-CSRF-TOKEN','Authorization”问题?

怎么解决“laravel X-CSRF-TOKEN','Authorization”请求问题?

1、解决 "CSRF-TOKEN",需要在主模板里更改:

In header

<meta name="csrf-token" content="{{ csrf_token() }}" />

2、解决 "X-CSRF-TOKEN",需要在主模板里更改:

In header

<meta name="csrf-token" content="{{ csrf_token() }}" />

In script(Ajax)

<script type="text/javascript">
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});
</script>

In vue2.5

window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}

3、如果使用Vue2.5 Axios api Token,则需要如下更改(记得在数据库中设置token值):

In header

<meta name="api-token" content="{{ Auth::check() ? 'Bearer '.Auth::user()->api_token : 'Bearer ' }}">
In script(Ajax)
<script type="text/javascript">
$.ajaxSetup({
    headers: {'Authorization': $('meta[name="api-token"]').attr('content')
    }
});
</script>

In Vue 2.5

window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
let token = document.head.querySelector('meta[name="csrf-token"]');
let apiToken = document.head.querySelector('meta[name="api-token"]');
if (token) {
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
    window.axios.defaults.headers.common['Authorization'] = apiToken.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}

推荐教程:《laravel入门

相关标签: php laravel