【发布时间】:2021-11-30 13:58:54
【问题描述】:
我正在尝试使用 laravel 护照对用户进行身份验证。我遵循 laravel 护照文件中的每一步。但是当我访问受“auth:api”中间件保护的路由时,它会显示错误。我已经在互联网上进行了搜索,但到目前为止,任何答案都不起作用。请查看代码,以及我到目前为止尝试过的内容。
使用的技术
- Laravel 6
- Laravel 护照
- Vue 2
- Axios
目前尝试过:
- 在
AuthServiceProvider中将Passport::routes();更改为Passport::routes(null, ['prefix' => 'api/oauth', 'middleware' => ['auth:api', 'web', 'auth']]);。也试过Passport::routes(null, ['prefix' => 'api/oauth'); - 试图运行
php artisan cache:clear
routes/api.php
Route::middleware('auth:api')->group(function() {
Route::get('user', function() {
return request()->user();
});
Route::get('posts', 'PostController@index')->name('posts');
Route::post('posts/store', 'PostController@store')->name('posts.store');
Route::get('posts/{id}/show')->name('posts.show');
Route::get('users/{id}/show')->name('users.show');
});
Axios
mounted() {
axios.get('/api/posts')
.then(res => this.posts = res.data).catch(error => console.log('Unable to fetch posts.'))
}
错误
标题:
如果您需要一些我的帖子中没有说明的细节,请告诉我。
设置
- 运行
composer require laravel/passport:9进行安装。 - 为表格运行
php artisan migrate。 - 运行
php artisan passport:install生成加密密钥。 - 在
User模型中添加了Laravel\Passport\HasApiTokens特征。 - 在
AuthServiceProvider中添加了Passport::routes();。 - 在
config/auth.php中将guard的api驱动程序更改为passport。
完整源代码:
【问题讨论】:
-
能否提供更多详细信息,如何设置 laravel 护照?
-
@Dmitry 请在我的帖子中查看我的更新。
标签: php laravel vue.js axios laravel-passport