【发布时间】:2021-04-26 07:56:49
【问题描述】:
我使用 vue 和 axios 创建了 laravel cms。
我想获取发送帖子请求的当前用户
所以我遵循 laravel api 文档并采用这种结构
// bootstrap.js
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
window.axios.defaults.headers.common['Authorization'] = `Bearer ${window.api_token}`;
// vue component file
axios.post('/api/v1/person', this.person)
.then(data => {
this.$emit('added', data.data);
this.person.id = data.data.data.id
});
// Route in api.php
Route::prefix('v1')->name('api.')->group(function () {
/** Person Routes */
Route::prefix('person')->namespace('Person')->name('person.')->group(function(){
Route::post('/', 'PersonController@index');
});
});
//in laravel controller i retrun
return response()->json(auth('api')->user());
即使我检查了控制台标题和 Authorization 标题设置正确
我可以获取所有的帖子数据,但 laravel 不会将用户传递给我
我还在 github 中创建了这个项目的存储库 如果你想可以点击这个链接
【问题讨论】:
-
你能显示路线,特别是你定义 api auth 中间件的地方吗?
-
这似乎是正确的,你在配置中设置了什么身份验证?
-
我在身份验证配置中没有任何变化。
-
你能看到我的 github 仓库吗?