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