laravel 使用token驱动来来使用api

先执行下面的语然来生成一个迁移,向users表中增加api_token列

php artisan make:migration add_api_token_to_users_table --table=users


然后修改迁移文件改成下面这样的

class AddApiTokenToUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('api_token')->after('password')->unique();
            #如果表里已经有数据了使用下面语句
            #$table->string('api_token')->after('password');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('api_token');
        });
    }
}

然后运行移动就会在users表创建一个api_token字段

然后修改user模型把api_token字段加到fillable 属性与hidden属性里

再修改用户注册入库函数

protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'api_token' =>str_random(64)#加上这一句
        ]);
    }

到此启用api就完成了,如果要生成api授权官方文档有推荐扩展可以用。

Tags php

留言(0)

评论