目标
1.使用laravel框架进行用户的登录,注册,认证
2.前后端分离的情况下,用户请求接口,使用API token进行认证
步骤
安装启动
composer create-project laravel/laravel example-app
cd example-app
php artisan serve
此时,通过访问http://127.0.0.1:8000就可以看到访问成功了
安装扩展包
接下来安装laravel官方的扩展包Sanctum,以达到目标
composer require laravel/sanctum
接下来,你需要使用 vendor:publish Artisan 命令发布 Sanctum 的配置和迁移文件。Sanctum 的配置文件将会保存在 config 文件夹中:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
修改配置文件
然后需要修改.env文件文件里面的数据库配置,改为:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=caixin
DB_USERNAME=root
DB_PASSWORD=root
数据库迁移
最后,您应该运行数据库迁移。 Sanctum 将创建一个数据库表来存储 API 令牌:
php artisan migrate
接下来,如果您想利用 Sanctum 对 SPA 进行身份验证,您应该将 Sanctum 的中间件添加到您应用的 app/Http/Kernel.php 文件中的 api 中间件组中:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
此时查看app/Models/User.php文件,User 模型应使用 Laravel\Sanctum\HasApiTokens trait:
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
}
模拟数据
此时,在数据库中的user表中随便加入一条数据
INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`)
VALUES
(1, 'java0904', '2954245@qq.com', NULL, '', NULL, NULL, NULL);
添加访问路由
此时在routes/api.php中配置路由,来获取token
Route::middleware

这篇博客详细介绍了如何在Laravel框架下,结合Sanctum扩展包实现用户登录、注册、API token认证。首先通过composer安装Laravel和Sanctum,然后配置.env文件、数据库迁移,接着在User模型中引入HasApiTokens trait。创建并测试API接口,包括获取token和使用token进行授权访问。同时,讲解了RouteServiceProvider和Http/Kernel.php中的中间件设置,以及CSRF Token的验证机制。
最低0.47元/天 解锁文章
2836

被折叠的 条评论
为什么被折叠?



