加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

详解laravel安装使用Passport(Api认证)

发布时间:2020-12-14 20:05:32 所属栏目:大数据 来源:网络整理
导读:Laravel通过传统的登录表单已经让用户认证变得很简单,但是API怎么办?API通常使用token进行认证并且在请求之间不维护session状态。Laravel使用Laravel Passport让API认证变得轻而易举,Passport基于Alex Bilbie维护的League OAuth2 server,可以在数分钟内

Laravel通过传统的登录表单已经让用户认证变得很简单,但是API怎么办?API通常使用token进行认证并且在请求之间不维护session状态。Laravel使用Laravel Passport让API认证变得轻而易举,Passport基于Alex Bilbie维护的League OAuth2 server,可以在数分钟内为Laravel应用提供完整的OAuth2服务器实现。

中文文档

http://laravelacademy.org/post/6813.html

安装

接下来,在配置文件 config/app.php 的providers 数组中注册 Passport 服务提供者:

Passport 迁移将会为应用生成用于存放客户端和访问令牌的数据表 (迁移文件位置/vendor/laravel/passport/database)

创建生成安全访问令牌时用到的加密密钥及私人访问和密码访问客户端。

Trait 添加到 AppUser 模型中,这个 Trait 会给这个模型提供一些辅助函数,用于检查已认证用户的令牌和使用作用于。

[ 'web' => [ 'driver' => 'session','provider' => 'users',],'api' => [ 'driver' => 'passport',

增加测试路由

'api'],function () { Route::post('/login','UserController@login'); }); Route::group(['middleware' => 'auth:api','namespace' => 'api'],function() { Route::get('V1/test/passport','UserController@passport'); });

增加控制器

namespace AppHttpControllersApi;

use IlluminateHttpRequest;
use AppHttpControllersController;
use Auth;

class UserController extends Controller
{
public function __construct()
{
$this->content = array();
}
public function login()
{
// dd(request('name'));
if(Auth::attempt(['name' => request('name'),'password' => request('password')]))
{
$user = Auth::user();
$this->content['token'] = $user->createToken('Pi App')->accessToken;
$status = 200;
} else {

  $this->content['error'] = "未授权";
   $status = 401;
}
 return response()->json($this->content,$status);

}
public function passport()
{
return response()->json(['user' => Auth::user()]);
}
}

通过postman进行简单测试获取token

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读