laravel8使用auth:sanctum验证api
后端步骤
//修改表名(personal_access_tokens ->tbl_token )
public function up()
    {
        Schema::create('tbl_token', function (Blueprint $table) {
            $table->id();
            $table->morphs('tokenable');
            $table->string('name');
            $table->string('token', 64)->unique();
            $table->text('abilities')->nullable();
            $table->timestamp('last_used_at')->nullable();
            $table->timestamps();
        });
    }
// 创建token数据库表
php artisan migrate --path=/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php

保存token的表(tbl_token)设置

//必须继承SanctumPersonalAccessToken
//$timestamps设置成true
namespace App\Models;

use Laravel\Sanctum\PersonalAccessToken as SanctumPersonalAccessToken;

class Token extends SanctumPersonalAccessToken
{
    /**
     * 与模型关联的数据表
     *
     * @var string
     */
    protected $table = 'tbl_token';

    protected $guarded = [];

    public $timestamps = true;
}

前端或者api调用工具使用的token是登录接口返回的token,不是数据库里记录的,数据库里记录的token是hash过了,不能直接用!!!

上一篇
下一篇