laravel 8 使用 passport 进行Auth验证及颁发token
auth认证时使用的中间件名称是auth:api
composer安装
composer require laravel/passport
执迁迁移文件,生成数据表,保存token数据
php artisan migrate
生成客户端授权码
php artisan passport:install
修改接口账号模型
(注意,这里已经继承了Auth)
use Laravel\Passport\HasApiTokens;
修改config/auth.php文件中的api配置
令牌的有效期
在app/Proivders/AuthServiceProvide.php文件中的boot方法添加有效期
use Laravel\Passport\Passport;
// token认证有效期2小时
Passport::tokensExpireIn(now()->addHour(2));
// 刷新token认证有效期30天
Passport::refreshTokensExpireIn(now()->addDays(30));
实现登录
生成接口验证token在登录成功后生成
在定义路由中绑定jwt认证中间件
//进入需认证token
Route::get('first',function (){
return '认证token成功';
})->middleware(['auth:api'])->name('first');
postman测试
退出登录
$request->user()->token()->revoke();
注意
1.name(‘login’),因为登录token认证失败会自动找get请求的name为login的路由
//用户登录接口的页面
Route::get('login',function (){
return '登录页面';
})->name('login');
//登录验证,即成功后颁发token
Route::post('login',[\App\Http\Controllers\Api\LoginController::class,'login'])->name('login');
2.public/.htaccess文件中开启重写
本作品采用《CC 协议》,转载必须注明作者和本文链接
MARK