leruge/tp6-jwt

此包已 废弃,不再维护。作者建议使用leruge/jwt包。

jwt thinkphp6 身份验证包

1.0.2 2020-11-10 14:45 UTC

This package is auto-updated.

Last update: 2021-10-19 15:09:34 UTC


README

thinkphp6的jwt身份验证包。目前仅支持通过header传参进行验证。

安装

composer require leruge/tp6-jwt

说明

  • 目前仅支持HS256算法加密。
  • 计划支持以下三大类型加密方式:RSA、HASH、DSA。每种方式再分256、384、512位。默认是HS256,即hash 256位加密。
  • 如需修改加密方式,请修改参数ALGO,参数选项:
    • HS256: hash256位
    • HS384: hash384位
    • HS512: hash512位
    • RS256: rsa256位
    • RS384: rsa384位
    • RS512: rsa512位
    • ES256: dsa256位
    • ES384: dsa384位
    • ES512: dsa512位

提示:RSA和DSA是非对称加密方式,除了修改ALGO参数外,还需要配置public_key和private_key两个参数。如果秘钥设置了密码,请配置好password参数。

使用方式

  1. builder方法,生成token字符串
$user = ['id' => 1];
$token = \leruge\facade\JWT::builder($user);
  1. validate方法,如果验证通过返回true,失败则抛出异常
\leruge\facade\JWT::validate();
  1. auth方法,返回一个对象,可以数组式访问,token有效时可以获取正常数据,无效时获取的都是空
$user = \leruge\facade\JWT::auth();
$uid = $user->id; // $user['id'];
  1. 可以使用JWT中间件,如果成功则进行下一步,失败则返回 ['code' =>0, 'msg' => '失败信息'] \leruge\middleware\JWT::class

传参方式

  • 将token加入header,如下Authorization:bearer token