laravel 中针对 laravel/passport的使用
1.composer安装
由于网络上的方式都是基于你的laravel本身所具有其 illuminate/auth 8.2 然而安装需要上个版本,耦合性过大,导致安装困难。所以选择此方式。
composer require laravel/passport=~9.0
2.具体实现步骤
最好搭配auth()登录一起使用 但需要注意 auth的登录密码需要使用 Hash类生成 从而符合其auth内部的密码规则
$password = Hash::make('123456');
执迁迁移文件,生成数据表,保存token数据
php artisan migrate
生成客户端授权码
php artisan passport:install
修改接口账号模型
在其User类 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));
解决auth在接口中登录没有attempt问题
接口token生成
Postman 测试
接口安全验证
使用了jwt进行验证
需要对接口路由绑定中间件,前提是auth.php文件中的一定要把api节点中的driver更换为passport
postman测试
总结
接口验证 jwt
安装 composer require xxx
迁移 php artisan migrate
执行 secret 命令 php artisan make:passposrt install
在providers boot添加的过期时间 token过期时间 设置2小时
模型中use 方法trait 用户模型中提供生成token的方法 createToken()‐>accessToken;
auth.php文件中配置 guard节点 dirver=passport ,添加一个用户的session方式节点
在auth登录成功后,进行生成token 返回给用户