lengbin/hyperf-jwt

dev-master 2020-08-19 07:37 UTC

This package is auto-updated.

Last update: 2024-09-19 16:58:54 UTC


README

Hyperf Jwt


如果你喜欢这个项目,请给我一颗星

安装

安装此扩展的首选方式是通过 composer.

运行以下命令之一:

composer require lengbin/hyperf-jwt

或者

"lengbin/hyperf-jwt": "*"

将以下内容添加到你的 composer.json 文件的 require 部分。

请求详情

"lengbin/jwt": "dev-master"

配置

    /config/autoload/jwt.php
    
    return [
        'alg' => 'HMACSHA256',
        'key' => 'ice',
        // jwt 过期时间
        'exp' => 2 * 3600,
        // 刷新token 过期时间
        'ttl' => 24 * 3600 * 30,
        // 是否 单点登录
        'sso' => false
    ];

发布

      
php ./bin/hyperf.php vendor:publish lengbin/hyperf-jwt

用法

<?php

namespace App\Controller;

use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Annotation\Controller;
use Hyperf\HttpServer\Annotation\RequestMapping;
use Lengbin\Jwt\JwtInterface;

/**
 * Class IndexController
 * @package App\Controller
 * @Controller()
 */
class IndexController extends AbstractController
{

    /**
     * @Inject()
     * @var JwtInterface
     */
    public $jwt;

    /**
     * @RequestMapping(path="/", methods={"get", "post"})
     *
     * @return array
     */
    public function index()
    {
        $user = $this->request->input('user', 'Hyperf');
        $method = $this->request->getMethod();
        // 生成token
        $token = $this->jwt->makeToken([
             'method'  => $method,
             'message' => "Hello {$user}.",
         ]);
        // 生成 刷新token
        // $this->jwt->generate($exp);
        // 生成 刷新token
        // $this->jwt->generateRefreshToken();
        // 验证 获得自定义参数
        // $this->jwt->verifyToken($token);
        //注销
        // $this->jwt->logout();
        return [
            'method'  => $method,
            'message' => "Hello {$user}.",
            'token'   => $token,
        ];
    }

}