【发布时间】:2021-06-16 23:34:18
【问题描述】:
我正在使用 Vuejs 和 Laravel 构建 SPA,我安装了 laravel sanctum 以通过其令牌对用户进行身份验证。
API.php
Route::post('/teacher/login', 'Teacher\RegisterController@login')->middleware('auth:sanctum');
登录.Vue
login(){
axios.get('/sanctum/csrf-cookie').then(response => {
this.form.post('api/teacher/login')
.then( response => {
console.log( response );
})
.catch( error => {
console.log( error );
})
});
}
自定义控制器
public function login(Request $request){
$credentials = $request->only('email', 'password');
if(Auth::attempt($credentials)){
return response()->json(Auth::user(), 200);
}
}
我在没有 sanctum 中间件的情况下检查了它,它成功地记录了用户,但我在它说您的请求未经身份验证的路由中添加了中间件。 我按照官方的 Laravel-7 文档实现了一切,我不明白为什么它说未经身份验证,附上 IMG 以获得更多详细信息。
【问题讨论】:
-
你能分享
csrf-cookie的回复吗?还有所有 cookie 的列表? -
好的,我附上了应用程序cookie截图,请看一下。
-
@Harun R Rayhan 有什么问题吗?
标签: laravel vue.js axios single-page-application laravel-sanctum