elshaden / apiato-sanctum
在 Apiato 项目中实现 Laravel Sanctum。
2.0
2022-10-15 10:12 UTC
Requires
- php: ^8.0.2
- ext-json: *
- illuminate/console: ^9.21
- illuminate/contracts: ^9.21
- illuminate/database: ^9.21
- illuminate/support: ^9.21
- laravel/sanctum: ^3.0
README
在 Apiato 中实现 Laravel Sanctum。
此容器用于利用 Laravel Sanctum 身份验证。
安装
仅适用于现有的 Apiato 应用程序
有关 Apiato 容器安装程序的更多信息,请参阅 文档!
注意
使用 Sanctum 将限制 Apiato 中现有 Laravel Passport 的使用,我没有同时使用这两个进行测试,因此您不应同时使用它们。
#### 版本 2.0 已更新以支持 Sanctum 3.0 #### 安装步骤
您应该已经完全安装了包括 Passport 在内的 Apiato。
在现有的 Apiato 应用程序中安装 Sanctum
composer require elshaden/apiato-sanctum
您需要将 use HasApiTokens 在 App\Ship\Parents\Models\UserModel 中更改为 use Sanctum Trait
use Laravel\Sanctum\HasApiTokens;
php artisan migrate 这将创建 sanctum_personal_access_token 表
然后您就可以开始使用了
检查位于 Configs 目录中的 sanctum 配置文件,查看是否有任何更改
您可以通过查看路由来了解如何在 Apiato 中使用 Sanctum
要使用 Sanctum 中间件,您需要将路由中的中间件更改为
->middleware(['auth:sanctum'])
尚未实现 Sanctum 能力的使用。您可以为 Sanctum 添加能力并在 Apiato 中使用。您需要查看 Sanctum 的 文档 获取更多信息。
我个人更喜欢使用 Apiato 中现有的权限系统与 Sanctum 一起使用。
Sanctum 将与现有的权限和角色一起工作,就像您期望使用 Passport 一样。
Sanctum 使用 web 守卫,无需创建 sanctum 守卫。
注意:当播种现有用户、权限或使用守卫名称的任何内容时,您需要跳过添加 sanctum 守卫
if($guardName == 'sanctum') continue;