laravel6 内置 api 认证

本文详细介绍了laravel6中API认证的实现过程,包括原理、创建项目与配置、编写认证代码、保护路由和传递token的方法。在原理部分,阐述了注册和登录时token的生成与存储,以及认证过程。在后续章节,讲解了如何设置项目以支持API认证,以及如何保护特定路由并处理请求中的token。
摘要由CSDN通过智能技术生成

api 认证

原理
  1. 注册:用户注册成功后,随机生成长字符串作为 token,原生 token 返回给用户。哈希后的 token 存到数据库里。
  2. 登陆:用户使用账号密码登陆成功,随机生成长字符串作为 token,原生 token 返回给用户。哈希后的 token 存到数据库里。
  3. 认证:将用户传来的 token 进行哈希,然后取数据库中查找哈希后的 token ,找到了就认证成功,否则失败。
创建项目与配置
composer create-project --prefer-dist laravel/laravel laravel6
php artisan migrate
添加 api_token 字段,可空,唯一,默认 null。(可直接修改,也可以创建下面的代码片段然后迁移)
Schema::table('users', function ($table) {
   
    $table->string('api_token', 80)->after('password')
                        ->unique()
                        ->nullable()
                        ->default(null);
});

php artisan migrate

我们的例子还需要设置 email 可为空,因为我们以用户名作为认证的依据

设置模型可以操作 api_token 字段

# App\User.php
protected $fillable = [
    'name', 'email', 'password', 'api_token',
];

修改 api_token 这个名称

如果修改字段名称 api_token,请记得改配置文件 config/auth.php 中的 stroage_key

'api' => [
    'driver' => 'token',
    'provider' => 'users',
    'hash' => false,
    'storage_key' => 'api_token',
],

guard 设置为 api,hash 设置为 true

// config/auth.php

'defaults' => [
    'guard' => 'api',     // 默认 api 认证
    'passwords' => 'users',
],

'api' => [
    'driver' => 'token',
    'provider' => 'users',
    'hash' =
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值