leruge/jwt

jwt thinkphp8 身份验证

维护者

详细信息

gitee.com/leruge/jwt

2.0.2 2023-07-29 13:53 UTC

This package is auto-updated.

Last update: 2024-09-29 16:12:01 UTC


README

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

安装

composer require leruge/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字符串,也可以使用助手函数jwt_builder
    $user = ['id' => 1];
    $isCarry = true; // 默认为true,是否携带Bearer
    $token = \leruge\facade\JWT::builder($user, $isCarry); // 也可以使用 jwt_builder($user, $isCarry)
    
  2. validate方法,如果验证通过返回true,失败则抛出异常
    \leruge\facade\JWT::validate();
    
  3. auth方法,返回一个对象,可以数组形式访问,token有效时可以获取正常数据,无效时获取的数据均为空,也可以使用助手函数jwt
    $user = \leruge\facade\JWT::auth();
    $uid = $user->id; // $user['id'];  jwt('id')
    
  4. 可以使用中间件JWT,如果验证成功则进行下一步,失败则返回 ['code' => 0, 'msg' => '失败信息'] \leruge\middleware\JWT::class

传参方式

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