0
点赞
收藏
分享

微信扫一扫

laravel8 passport验证登录颁发token

Spinach菠菜 2022-03-13 阅读 64

1.安装passport插件

composer require laravel/passport

2.执迁迁移文件,生成数据表,保存token数据

php artisan migrate

3.生成客户端授权码

php artisan passport:install

4.在模型层调用HasApiTokens

use Laravel\Passport\HasApiTokens;

 

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

    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
        'apiweb' => [
            'driver' => 'session',
            'provider' => 'apiusers',
        ],

        'api' => [
            'driver' => 'passport',
            'provider' => 'apiusers',
            'hash' => false,
        ],
    ],

 6.生成并验证

 $bool=auth()->guard('apiweb')->attempt($postData);
        if($bool){
//            生成token
        $userModel = auth()->guard('apiweb')->user();
        $token = $userModel->createToken('api')->accessToken;
        $data=[
            'expire'=>7200,
            'token'=>$token
        ];
            return response(['code'=>200,'msg'=>"颁发token成功",'data'=>$data]);
        }else{
            return response(['code'=>200,'msg'=>"账号或密码错误",'data'=>"11"]);
        }

7.添加路由

//颁发token
Route::prefix('auth')->group(function (){
    Route::post('login',[\App\Http\Controllers\Login::class,'login'])->name('login');
});

//用户登录
Route::middleware('auth:api')->post("wxlogin",[\App\Http\Controllers\WxLogin::class,'wxlogin']);

8.postman测试

 

举报

相关推荐

0 条评论