| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 网络协议 -> Thinkphp封装jwt认证 -> 正文阅读 |
|
|
[网络协议]Thinkphp封装jwt认证 |
composer安装
composer require firebase/php-jwt
<?php
namespace app\busines;
use Firebase\JWT\ExpiredException;
use Firebase\JWT\JWT as JWTUtil;
class Jwt
{
public function createjwt($id)
{
$key = md5(env('TOKEN.key', 'yxw')); //jwt的签发密钥,验证token的时候需要用到
$time = time(); //签发时间
$expire = $time + 14400; //过期时间
$token = array(
"user_id" => $id,
"iss" => env('TOKEN.iss'),//签发组织
"aud" => env('TOKEN.aud'), //签发作者`
"iat" => $time,
"nbf" => $time,
"exp" => $expire
);
$jwt = JWTUtil::encode($token, $key);
return success('生成秘钥', $jwt);
}
public function verifyjwt($jwt)
{
// $jwt = input("jwt");
$key = md5(env('TOKEN.key', 'yxw')); //jwt的签发密钥,验证token的时候需要用到
try {
$jwtAuth = json_encode(JWTUtil::decode($jwt, $key, array("HS256")));
$authInfo = json_decode($jwtAuth, true);
if (!$authInfo['user_id']) {
return fail('未找到用户');
}
return success('ok');
} catch (ExpiredException $e) {
return fail('token过期');
} catch (\Exception $e) {
return fail('错误信息', $e->getMessage());
}
}
}
|
|
|
| 网络协议 最新文章 |
| 使用Easyswoole 搭建简单的Websoket服务 |
| 常见的数据通信方式有哪些? |
| Openssl 1024bit RSA算法---公私钥获取和处 |
| HTTPS协议的密钥交换流程 |
| 《小白WEB安全入门》03. 漏洞篇 |
| HttpRunner4.x 安装与使用 |
| 2021-07-04 |
| 手写RPC学习笔记 |
| K8S高可用版本部署 |
| mySQL计算IP地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/24 8:03:33- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |