ajax获取子域名时的csrf保护,传递token但是token不同
1. 运行环境
1). 当前使用的 Laravel 版本?
laravel8.*
2). 当前使用的 php/php-fpm 版本?
PHP 版本:7.3
2. 问题描述?
目前有两个域名:
www.shop.com
api.shop.com
Route::domain('www.shop.com')->group(function (){
Route::get('/','Controller@index');
});
Route::domain('api.shop.com')->middleware('cors')->group(function (){
Route::post('commodity','ApiController@Commodity')->name('api.commodity');
});
在主域名通过ajax获取api时会有csrf保护,但是在ajax中传递了_token值也还是返回419错误码
$.ajax({
url:'{{route('api.commodity')}}',
type:'post',
data: {
'_token':'{{csrf_token()}}',
},
success:function(e){
console.log(e);
}
})
于是设置了api的csrf白名单后再对比,返回通过ajax传递的token和Session:all()内的token值,发现两个token不一样,怎么在不开启csrf白名单的情况下获取api的数据
laravel 中的
csrf_token
显示在前端页面会加密的,你是想让两个项目的csrf_token
一样??还是啥您好,这个问题解决了吗,怎么解决的来.