Laravel Sanctum 使用教程
1. 项目的目录结构及介绍
Laravel Sanctum 的目录结构遵循标准的 Laravel 项目结构,但主要关注于 Sanctum 特定的功能。以下是 Sanctum 项目的主要目录结构及其介绍:
laravel-sanctum/
├── app/
│ ├── Http/
│ │ ├── Controllers/
│ │ └── Middleware/
│ └── Models/
├── config/
│ └── sanctum.php
├── database/
│ ├── factories/
│ ├── migrations/
│ └── seeds/
├── resources/
│ ├── js/
│ └── views/
├── routes/
│ ├── api.php
│ └── web.php
└── vendor/
└── laravel/
└── sanctum/
- app/: 包含应用程序的核心代码,包括控制器、模型和中间件。
- config/: 包含应用程序的配置文件,包括
sanctum.php
。 - database/: 包含数据库迁移、工厂和种子文件。
- resources/: 包含视图和前端资源。
- routes/: 包含应用程序的路由定义。
- vendor/: 包含所有依赖包,包括 Laravel Sanctum。
2. 项目的启动文件介绍
Laravel Sanctum 的启动文件主要位于 app/Providers
目录下。以下是 Sanctum 相关的启动文件:
- SanctumServiceProvider.php: 这是 Sanctum 的服务提供者,负责注册 Sanctum 的服务和配置。
namespace App\Providers;
use Laravel\Sanctum\Sanctum;
use Illuminate\Support\ServiceProvider;
class SanctumServiceProvider extends ServiceProvider
{
public function register()
{
Sanctum::ignoreMigrations();
}
public function boot()
{
$this->loadMigrationsFrom(__DIR__.'/../database/migrations');
}
}
3. 项目的配置文件介绍
Laravel Sanctum 的配置文件位于 config/sanctum.php
。以下是该配置文件的主要内容:
return [
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1')),
'expiration' => null,
'middleware' => [
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
],
];
- stateful: 定义了哪些域名可以进行状态管理。
- expiration: 定义了 Sanctum 令牌的过期时间。
- middleware: 定义了 Sanctum 使用的中间件。
通过以上配置,可以灵活地调整 Sanctum 的行为以适应不同的应用场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考