laravel9开发微信小程序*记录

laravel9开发微信小程序,需要使用laravel/passport,来实现auth2.0的认证。

安装

在开始使用之前,使用 Composer 包管理器安装 Passport:

composer require laravel/passport

Passport 的 服务提供器 注册了自己的数据库迁移脚本目录, 所以你应该在安装软件包完成后迁移你自己的数据库。 Passport 的迁移脚本将为你的应用创建用于存储 OAuth2 客户端和访问令牌的数据表:

php artisan migrate

接下来,你需要执行 Artisan 命令 passport:install。这个命令将会创建一个用于生成安全访问令牌的加密秘钥。另外,这个命令也将创建用于生成访问令牌的 “个人访问” 客户端和 “密码授权” 客户端 :

php artisan passport:install


在执行 passport:install 命令后, 添加 Laravel\Passport\HasApiTokens trait 到你的 App\Models\User 模型中。 这个 trait 会提供一些帮助方法用于检查已认证用户的令牌和权限范围。如果您的模型已经在使用 Laravel\Sanctum\HasApiTokens trait,您可以删除该 trait:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable;
}

然后,在你应用的配置文件 config/auth.php 中, 将 api 的授权看守器 guards 的 driver 参数的值设置为 passport。此调整会让你的应用程序使用 Passport 的 TokenGuard 鉴权 API 接口请求:

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

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

部署 Passport

当你第一次部署 Passport 到你的应用服务器,你需要运行 passport:keys 命令。命令将生成一个 Passport 需要的加密秘钥,用于生成访问令牌。生成的秘钥不建议放到源码管理中:

php artisan passport:keys

标签