luzpcn/tp6-jwt-token

为ThinkPHP6集成的firebase/php-jwt

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

维护者

详细信息

gitee.com/luzpcn/tp6-jwt-token

1.0 2022-05-17 11:56 UTC

This package is auto-updated.

Last update: 2022-05-17 21:00:29 UTC


README

这是一个基于firebase/php-jwt封装的JWT工具包,在前后端分离时非常有用。

配置

安装完成后会自动生成配置文件config/jwt.php


<?php
return [
    //签名者
    'signer' => 'HS256',
    // 对称密钥
    'private_key' => 'a4693602cbb7aee',
    //token获取name
    'header_name'    => 'Authorization',
    'header_prefix'  => 'Bearer',
    'param_name'    => 'token',
    //有效期(默认两个小时)  单位:秒
    'exp' => 3600 * 2
];

使用

使用方式非常简单,传递token参数,你可以选择Header、Param提供3个方法create(array $payload)auth()invalidate(string $token_id, string $msg)

生成token

示例:通过用户id生成token

$token = Token::create(['id'=>100]);

验证token

用于验证token,返回值是一个$payload数组

  try {
$payload = Token::auth();
  } catch (\Exception $e) {

  $e->getMessage()//失败

       }     

无效token

通过将token存储到缓存中,使用tp6框架的cache方法

Token::invalidate(string $token_id, string $msg);

再使用上面的auth方法就会抛出异常:token无效:$msg