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;

laravel 8 使用 passport 进行Auth验证及颁发token

修改config/auth.php文件中的api配置

laravel 8 使用 passport 进行Auth验证及颁发token

令牌的有效期

在app/Proivders/AuthServiceProvide.php文件中的boot方法添加有效期
use Laravel\Passport\Passport;

// token认证有效期2小时
Passport::tokensExpireIn(now()->addHour(2));

// 刷新token认证有效期30天
Passport::refreshTokensExpireIn(now()->addDays(30));

实现登录

laravel 8 使用 passport 进行Auth验证及颁发token

生成接口验证token在登录成功后生成

laravel 8 使用 passport 进行Auth验证及颁发token

在定义路由中绑定jwt认证中间件

//进入需认证token
Route::get('first',function (){
    return '认证token成功';
})->middleware(['auth:api'])->name('first');

postman测试

laravel 8 使用 passport 进行Auth验证及颁发token

退出登录

$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 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!