thinkphp使用jwt鉴权

1.下载jwt(jwt.io)找PHP获星最多的就行

2.放入vendor中,并且注释顶部的命名空间

3.前端用户提交账号密码后,写入token传给前端保存,之后带token访问

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;


class Index extends Base
{

    public function index(){

        //引入jwt,并new一个类
        vendor('jwt.src.JWT');
        $jwt = new \JWT();

        //拿着前端账号密码验证成功后调用数据库用户数据写入token
        $key = 'anchens';               //自己随意定义,加密字符串
        $token = array(                 //存放用户信息,id,用户名之类的不能添加敏感信息这部分前端可解密
            "iss" => "admin",           //该JWT的签发者
            "iat" => time(),            //签发时间
            "exp" => time()+7200,       //过期时间,7200秒后
            "uid" => "X",               //用户ID,通过数据库获取
            "username" => "XX"          //用户名等等用户信息可自己定义
        );
        $jwt = $jwt->encode($token, $key);     //加密方法调用
        print_r($jwt);                         //返回token
    }
    

}

4.前端请求接口,后台解密token

发布了34 篇原创文章 · 获赞 10 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/u014391889/article/details/90232790