vue/token

一款用于简化常见任务(如密码重置、账户激活等)中的公共令牌实现的工具。

此包的官方仓库似乎已消失,因此该包已被冻结。

维护者

详细信息

github.com/vuer/token

源代码

问题

安装: 241

依赖: 0

建议: 0

安全: 0

星标: 3

关注者: 1

分支: 1

公开问题: 0

类型:utils

1.3.1 2017-04-03 19:58 UTC

This package is not auto-updated.

Last update: 2019-07-08 03:14:53 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

安装

您可以使用以下命令通过composer安装此包:

composer require vuer/token

接下来,您必须安装服务提供者

// config/app.php
'providers' => [
    ...
    Vuer\Token\Providers\TokenServiceProvider::class,
];

发布迁移

php artisan vendor:publish --provider="Vuer\Token\Providers\TokenServiceProvider"

迁移发布后,您可以通过运行迁移来创建token-table

php artisan migrate

使用

准备您的模型

要将令牌与模型关联,该模型必须实现以下特性

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Vuer\Token\Traits\Tokenable;

class User extends Model
{
    use Tokenable;
   ...
}

生成令牌

您可以将令牌与模型关联如下

$user  = User::find(1);
$token = $user->createToken('token_name');

要指定自己的过期时间或令牌长度,您应添加第二个和第三个参数

// 180 minutes, 100 characters.
$token = $user->createToken('token_name', 180, 100);

您还可以传递包含自定义属性的数组

$token = $user->createToken('token_name', 180, 100, ['email' => 'john@doe.com']);

要检查令牌,您可以使用 checkToken 方法

if ($user->checkToken('tc0kml61DT3t6xciInw7gjqwmfvZ2799max7lMMGWl2yL9TB')) {
    // token is valid
}

您还可以删除令牌

// Delete token by name.
$user->deleteToken('token_name');

// Delete token by value.
$user->deleteToken('tc0kml61DT3t6xciInw7gjqwmfvZ2799max7lMMGWl2yL9TB', 'token');

要获取Token实例,请使用方法

// Get one token by name.
$user->getToken('token_name');

// Get collection of tokens by name.
$user->getTokens('token_name');

// Get one token by value.
$user->getToken('tc0kml61DT3t6xciInw7gjqwmfvZ2799max7lMMGWl2yL9TB', 'token');

// Get collection of tokens by value.
$user->getTokens('tc0kml61DT3t6xciInw7gjqwmfvZ2799max7lMMGWl2yL9TB', 'token');

// Get last token by value.
$user->getLastToken('tc0kml61DT3t6xciInw7gjqwmfvZ2799max7lMMGWl2yL9TB', 'token');

// Get last token by name.
$user->getLastToken('token_name');