bonsaicms / auth
Bonsai CMS 后端身份验证包
0.2.1
2021-04-07 14:15 UTC
Requires
- laravel/fortify: ^1.6
- laravel/framework: ^8.0
- laravel/sanctum: ^2.7
README
此包是 Bonsai CMS 的一部分。
简介
此包是 Laravel 的服务器端(前端无关)身份验证后端。它**旨在与单页应用程序(SPA)前端配合使用**。它底层使用以下 Laravel 包:
安装步骤
1. 安装包
$ composer require bonsaicms/auth
2. 更新您的 .env 文件
将以下行添加到您的 .env 文件中。
APP_PROTOCOL=http APP_DOMAIN="localhost:8080" APP_URL=${APP_PROTOCOL}://${APP_DOMAIN} SANCTUM_STATEFUL_DOMAINS=${APP_DOMAIN}
3. 发布包资源
$ php artisan vendor:publish --provider="BonsaiCms\Providers\AuthServiceProvider"
4. 注册服务提供者
在您的 config/app.php 文件中,将以下服务提供者类添加到 providers 数组中。
'providers' => [ ... + App\Providers\BonsaiAuthServiceProvider::class, ]
5. 更新您的 HTTP Kernel
将以下行添加到您的 App\Http\Kernel.php 文件中。
protected $middlewareGroups = [ ... 'api' => [ + \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, ], + + 'fortify' => [ + \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], ];
6. 更新您的 User 模型
更新您的 app/Models/User.php 模型。
您的模型应该**实现**我们的接口 BonsaiCms\Auth\AuthenticatableContract。
您的模型应该**使用**我们的特质 BonsaiCms\Auth\AuthenticatableTrait。
<?php namespace App\Models; + use Illuminate\Database\Eloquent\Model; + use BonsaiCms\Auth\AuthenticatableTrait; + use BonsaiCms\Auth\AuthenticatableContract; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; - use Illuminate\Foundation\Auth\User as Authenticatable; - use Illuminate\Notifications\Notifiable; - class User extends Authenticatable + class User extends Model implements AuthenticatableContract { - use HasFactory, Notifiable; + use HasFactory, AuthenticatableTrait;
7. 运行迁移
$ php artisan migrate