ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tp5.0使用JWT完成token认证技术

2021-07-31 08:32:47  阅读:272  来源: 互联网

标签:tp5.0 return JWT 必需 token 官方 time


1、安装

composer require firebase/php-jwt

2、封装(在框架根目录extend下新建Token.php)

<?php
use Firebase\JWT\JWT;
class Token
{
    const SECRET = 'hello';//密钥
    //创建token
    static public function create_token($uid = 1)
    {
        $payload = [
            'iss' => 'pyg',                //签发人(官方字段:非必需)
            'exp' => time() + 60,     //过期时间(官方字段:非必需)
            'aud' => 'admin',              //接收人(官方字段:非必需)
            'nbf' => time(),               //生效时间(官方字段:非必需)
            'iat' => time(),               //签发时间(官方字段:非必需)
            'admin_id' => $uid,        //自定义字段(用户id)
        ];
        $token = JWT::encode($payload, self::SECRET, 'HS256');
        return $token;
    }

    //验证token
    static public function verify_token($token)
    {
        try {
            $Result = JWT::decode($token, self::SECRET, ['HS256']);
            return true;
        } catch (\Exception $e) {
            return false;
        }
    }
}

 

3、调用(参考)

<?php

namespace app\api\controller;

use think\Controller;
use think\Request;
use Token;

class Login extends Controller
{
    public function login(){
        //登录成功生成token
        $user_id = 2;
        $token = Token::create_token($user_id);
        return $token;
    }

    public function verifyToken(){
        $token = input('token');
        $res = Token::verify_token($token);
        var_dump($res);
    }
}

 

标签:tp5.0,return,JWT,必需,token,官方,time
来源: https://www.cnblogs.com/ccdr/p/15083214.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有