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使用JWT完成token认证技术的更多相关文章

  1. 使用jwt进行token认证

    简单说明:最近在搞权限这一块的东西,需要用到jwt进行token认证,才有了如下的demo演示   具体细节可以看gitbug,噗,不是bug是hub  github地址:https://github ...

  2. token 与 基于JWT的Token认证

    支持跨域访问,无状态认证 token特点 支持跨域访问: Cookie是不允许垮域访问的,这一点对Token机制是不存在的,前提是传输的用户认证信息通过HTTP头传输 无状态(也称:服务端可扩展行): ...

  3. 基于JWT的Token认证机制及安全问题

    [干货分享]基于JWT的Token认证机制及安全问题 https://bbs.huaweicloud.com/blogs/06607ea7b53211e7b8317ca23e93a891

  4. iOS 开发之基于JWT的Token认证机制及解析

    在移动端和服务端通信中,一般有两种认证方式:token 和 session. 1.session/cookie 认证机制: 在服务端创建一个Session对象,同时在客户端的浏览器端创建一个Cooki ...

  5. Django+JWT实现Token认证

    对外提供API不用django rest framework(DRF)就是旁门左道吗? 基于Token的鉴权机制越来越多的用在了项目中,尤其是对于纯后端只对外提供API没有web页面的项目,例如我们通 ...

  6. 使用JWT实现Token认证

    为什么使用JWT? 随着技术的发展,分布式web应用的普及,通过session管理用户登录状态成本越来越高,因此慢慢发展成为token的方式做登录身份校验,然后通过token去取redis中的缓存的用 ...

  7. JWT实现token认证

    演变 1.1 有状态服务 在原来的单体系统中,有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,session+cookie.在如今的大多数分布式系统中 ...

  8. 简单说说基于JWT的token认证方式

    一.什么是认证 好多人不知道什么是认证,认证,其实就是服务端确认用户身份.Http协议是无状态的,客户端发送一条请求,服务端返回一条响应,二者就算做成一单买卖,一拍两散.在很久以前,互联网所能提供的服 ...

  9. 基于JWT的token认证机制

    1. 一个JWT实际上就是一个字符串,由三部分组成 头部,载荷,签名 头部:事描述类型,签名,算法等 可以被表示成一个JSON对象 载荷:存放有效信息的地方 包含三个部分 (1)标准注册中的声明-建议 ...

随机推荐

  1. 面向计算机视觉的深度学习 | iBooker&#183;ApacheCN

    原文:Deep Learning for Computer Vision 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生 ...

  2. 微信小程序--给数组的每个对象添加动画(数据驱动)

    思路:用数据驱动事件,用数组的方式去对循环数组的每个对象进行操作 js代码: data:{ selectCategory: [{ name: '生产模式', content: [{ txt: '原厂' ...

  3. 【微服务】- SpringCloud中Config、Bus和Stream

    文章目录 SpringCloud中Config 1.Config的简介 官网 分布式系统面临的问题 config是什么 如何使用 能做什么 与git的配合使用 2.Config服务端的配置和测试 准备 ...

  4. linnux命令 - brctl和ifconfig

    1.安装brctl centos7.6安装使用 yum install bridge-utils ubuntu使用 apt-get install bridge-utils 什么是网桥 网桥是一种在链 ...

  5. 数组中包含多个对象 按照对象中的时间进行排序 适用与Angular.js、Jquery、微信小程序等

         LiveList.sort(this.compare('StartDate'))   //StartData:需要排序的时间   compare: function (property) { ...

  6. 记录netcore一次内存暴涨的坑

    项目用到了Coldairarrow/EFCore.Sharding: Database Sharding For EFCore (github.com)这个组件,最初是因为分表做的还不错所以用了它. ...

  7. Hyperledger Fabric 2.x 动态更新智能合约

    一.说明 在上一篇文章中分享了智能合约的安装与使用,如果业务有变更代码需要修改怎么办呢?本文分享如何对已安装的合约进行版本更新. 二.环境准备 区块链网络安装:<Hyperledger Fabr ...

  8. Redis 源码简洁剖析 16 - 客户端

    整体概述 客户端属性 套接字描述符 标志 输入缓冲区 命名及命令参数 命令的实现函数 输出缓冲区 客户端的创建与关闭 创建普通客户端 关闭普通客户端 参考链接 Redis 源码简洁剖析系列 整体概述 ...

  9. [LeetCode]1221. 分割平衡字符串

    在一个「平衡字符串」中,'L' 和 'R' 字符的数量是相同的. 给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串. 返回可以通过分割得到的平衡字符串的最大数量. 示例 1: 输入:s = ...

  10. oracle11g在windows下安装

    oracle下载 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 下载11g ...