在Vue组件中使用Laravel的auth()方法,需要进行以下步骤:
composer require laravel/passport
php artisan vendor:publish --tag=passport-config
php artisan vendor:publish --tag=passport-migrations
php artisan migrate
routes/api.php
文件中添加以下代码:Route::post('/login', 'AuthController@login');
Route::post('/register', 'AuthController@register');
php artisan make:controller AuthController
在AuthController中,可以使用Laravel的auth()方法来进行用户认证。例如,可以在login方法中使用以下代码:
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if (auth()->attempt($credentials)) {
$accessToken = auth()->user()->createToken('authToken')->accessToken;
return response()->json(['access_token' => $accessToken], 200);
} else {
return response()->json(['error' => 'Unauthorized'], 401);
}
}
methods: {
login() {
axios.post('/api/login', {
email: this.email,
password: this.password
})
.then(response => {
// 认证成功,保存access_token到本地
localStorage.setItem('access_token', response.data.access_token);
})
.catch(error => {
// 认证失败,处理错误信息
console.log(error.response.data.error);
});
}
}
在其他需要认证的API请求中,可以在请求头中添加access_token来进行认证:
axios.get('/api/user', {
headers: {
'Authorization': 'Bearer ' + localStorage.getItem('access_token')
}
})
.then(response => {
// 处理返回的用户数据
})
.catch(error => {
// 处理错误信息
});
这样,在Vue组件中就可以使用Laravel的auth()方法进行用户认证了。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云