📅  最后修改于: 2023-12-03 14:43:45.823000             🧑  作者: Mango
Laravel Sanctum 是一个用于构建安全的 API 认证系统的官方 Laravel 包。它提供了一种简单的方法来实现基于令牌的身份验证和授权,以保护你的 API。
本文将介绍 Laravel Sanctum 的安装步骤,并提供一些示例代码来帮助你快速开始使用。
要安装 Laravel Sanctum,你需要使用 Composer 运行以下命令:
composer require laravel/sanctum
这将自动下载并安装最新版本的 Sanctum 包。
安装完成后,你需要发布 Sanctum 的配置文件。运行以下 Artisan 命令:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
这将在你的项目中创建一个 sanctum.php
配置文件。你可以根据需要进行修改,但大多数情况下,保持默认配置即可。
在继续之前,你需要确保已按照 Laravel 的要求配置好数据库连接。然后,运行以下 Artisan 命令来创建 Sanctum 所需的数据库表:
php artisan migrate
这将创建 personal_access_tokens
表,用于存储用户的访问令牌。
为了使用 Sanctum 进行身份验证和授权,在 app/Http/Kernel.php
文件中添加 EnsureFrontendRequestsAreStateful
中间件:
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
...
protected $middlewareGroups = [
'web' => [
...
EnsureFrontendRequestsAreStateful::class,
],
...
];
这个中间件将确保前端请求具有有效的身份验证状态。
接下来,你需要在你的用户模型中使用 Laravel Sanctum 提供的 HasApiTokens
trait。在你的用户模型文件中添加以下行:
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
...
}
这将添加与用户模型相关的 API 令牌存储和管理的方法。
最后,你需要启用 Sanctum 的身份验证功能。在 config/auth.php
文件中的 guards
数组中,将 sanctum
驱动程序添加为一个新的认证卫士:
'guards' => [
...
'sanctum' => [
'driver' => 'sanctum',
'provider' => 'users',
],
],
恭喜,你已成功安装和配置 Laravel Sanctum。现在,你可以开始使用 Sanctum 来保护你的 API,进行基于令牌的身份验证和授权。
希望这篇介绍能帮助你快速入门 Laravel Sanctum。
如果你想了解更多关于 Laravel Sanctum 的详细文档,请访问 Laravel Sanctum 官方文档。
享受编码的乐趣!