laravel通过传统的登录表单已经让用户认证变得很简单,但是api怎么办?api通常使用token进行认证并且在请求之间不维护ssion状态。laravel使用laravel passport让api认证变得轻而易举,passport基于alex bilbie维护的league oauth2 rver,可以在数分钟内为laravel应用提供完整的oauth2服务器实现。
中文文档
安装
compor require laravel/passport
接下来,在配置文件 config/app.php 的providers 数组中注册 passport 服务提供者:
laravel\passport\passportrviceprovider::class,
passport 迁移将会为应用生成用于存放客户端和访问令牌的数据表 (迁移文件位置/vendor/laravel/passport/databa)
php artisan migrate
创建生成安全访问令牌时用到的加密密钥及私人访问和密码访问客户端。
php artisan passport:install
trait 添加到 app\ur 模型中,这个 trait 会给这个模型提供一些辅助函数,用于检查已认证用户的令牌和使用作用于。
laravel\passport\hasapitokens
然后在 authrviceprovider 的 boot 方法中添加 passport::roues();
最后,修改文件 config/auth.php 中 api 部分的授权保护项( driver )改为 passport 。此调整会让你的应用程序在接收到 api 的授权请求时使用 passport 的 tokenguard 产品推销来处描写桃花的优美语段理
'guards' => [ 'web' => [ 'driver' => 'ssion', 'provider' => 'urs', ], 'api' => [ 'driver' => 'passport', 'provider' => 'urs', ], 万圣节活动方案 ],
增加测试路由
route::group(['namespace' => 'api'], funct冬水ion () { route::post('/login', 'urcontroller@login');});route::group(['middleware' => 'auth:api', 'namespace' => 'api'], function() { route::get('v1/test/passport', 'urcontroller@passport');});
增加控制器
php artin make:controller urcontroller
<?phpnamespace app\http\controllers\api;u illuminate\http\request;u app\http\controllers\controller;u auth;class urcontroller extends controller{ public function __construct() { $this->content = array(); } public function login() { // dd(request('name')); if(auth::attempt(['name' => request('name'), 'password' => request('password')])) { $ur = auth::ur(); $this->content['token'] = $ur->createtoken('pi app')->accesstoken; $status = 200; } el { $this->content['error'] = "未授权"; $status = 401; } return respon()->json($this->content, $status); } public function passport() { return respon(refu名词)->json(['ur' => auth::ur()]); }}
通过postman进行简单测试获取token
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-06 17:21:24,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/bcedb6fe3773923b63aa0ad9df12411b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:详解laravel安装使用Passport(Api认证).doc
本文 PDF 下载地址:详解laravel安装使用Passport(Api认证).pdf
留言与评论(共有 0 条评论) |