Laravel API Passport认证的安装与配置和获取token及刷新accesstoken
"Laravel API Passport 认证安装配置获取 Token 及刷新 Access Token" Laravel API Passport 认证是一个强大且灵活的认证系统,提供了一个完整的身份验证和授权解决方案。本文将详细介绍 Laravel API Passport 认证的安装、配置、获取 Token 及刷新 Access Token。 安装 Passport 需要安装 Laravel Passport。使用 Composer,可以使用以下命令: ``` composer require laravel/passport 7.5.12 ``` 如果安装失败,可能是版本问题,可以根据实际情况进行处理。 运行数据库迁移 在安装 Passport 之后,需要运行数据库迁移,以便创建客户端和 Access Token 的表。 ``` php artisan migrate ``` 生成秘钥 下一步是生成秘钥,以便生成安全的 Access Token。 ``` php artisan passport:install ``` 这将创建秘钥,用于后续的 Token 生成。 配置 .env 文件 在 `.env` 文件中添加以下配置: ``` PASSPORT_CLIENT_ID=4 PASSPORT_CLIENT_SECRET=I5nUyyRzsVCxG9439IrvtryYusilmM2BDgB5CGgY5 ``` 配置 passport.php 文件 在 `config` 目录下创建 `passport.php` 文件,内容如下: ``` <?php return [ // 获取 Token 'proxy' => [ 'grant_type' => 'password', 'client_id' => env('PASSPORT_CLIENT_ID', ''), 'client_secret' => env('PASSPORT_CLIENT_SECRET', ''), 'scope' => '*', ], // 刷新 Token 'refresh' => [ 'grant_type' => 'refresh_token', 'client_id' => env('PASSPORT_CLIENT_ID', ''), 'client_secret' => env('PASSPORT_CLIENT_SECRET', ''), 'scope' => '*', ], ]; ``` 修改 config/auth.php 文件 在 `config/auth.php` 文件中添加以下配置: ``` 'guards' => [ 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ], ``` 创建用户模型 创建 `App\Models\v1\Users` 模型,内容如下: ``` <?php namespace App\Models\v1; use DateTimeInterface; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use Laravel\Passport\HasApiTokens; class Users extends Authenticatable { use HasApiTokens, Notifiable; / * 通过用户名找到对应的用户信息 * * @param string $username * @return \App\User */ public function findForPassport($username) { return $this->where('name', $username)->first(); } } ``` Passport 配置 在 `App\Providers\AuthServiceProvider` 中添加以下代码: ``` use Laravel\Passport\Passport; use Illuminate\Support\Carbon; Passport::routes(); Passport::tokensExpireIn(Carbon::now()->addMinutes(50)); Passport::refreshTokensExpireIn(Carbon::now()->addMinutes(100)); ``` 路由配置 创建路由,包括普通路由和限制权限的路由: ``` Route::any('/login', 'PassportController@login')->name('login'); Route::any('/refresh_token', 'PassportController@refreshToken')->name('refreshToken'); Route::middleware('auth:api')->prefix('/user')->name('user.')->group(function () { Route::any('/info', 'UserController@info')->name('info'); // ... }); ``` 至此,Laravel API Passport 认证的安装、配置、获取 Token 及刷新 Access Token 已经完成。
剩余24页未读,继续阅读
- 粉丝: 5
- 资源: 27
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助