vue / token
一款用于简化常见任务(如密码重置、账户激活等)中的公共令牌实现的工具。
此包的官方仓库似乎已消失,因此该包已被冻结。
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
安装
您可以使用以下命令通过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');