PHP JWT简易使用

阅读: 评论:0

PHP JWT简易使用

PHP JWT简易使用

今天突然就想用一下jwt生成一下token,那么说干就干
首先我先下载了一下composer
composer.phar
下载到本地以后,通过cmd命令行进行下载php-jwt,命令为:

php composer.phar require firebase/php-jwt

图片效果


vendor文件夹下就有我们所想要的文件

现在我们移入我们的根目录

现在我们进入登录页面,然后进行发放token,第一个框是账户,第二个是密码

这里是我们jwt.html 的源码

<!doctype html>
<!--suppress ALL -->
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JWT</title>
</head>
<body><input type="text" name="username" id="username"><input type="password" name="password" id="password"><button class="sub">提交</button><input type="reset" value="重置"><div class="power">确认是否有权限
</div>
</body>
<script src=".4.1/jquery.js"></script>
<script>$('.sub').click(function(){$.ajax({type:'GET',url: "./login.php",data:{username:$('#username').val(),password: $('#password').val()},success:function (e) {localStorage.setItem('token',e);console.Item('token'));}})})$('.power').click(function(){if (Item('token') == null) {alert('请登录获取token')return false;}$.ajax({type:'GET',url: "./index.php",headers:{Item('token')},success:function (e) {}})})</script>
</html>

这个是我们点击提交ajax进行访问的php文件

<?php
use FirebaseJWTJWT;
require './vendor/autoload.php';
ini_set("display_errors","On");
error_reporting(E_ALL);$config =  ['username' => 1,'password' => 1
];$params = $_GET;if ($config != $params) {echo 'username or password Wrong';die;
}$key = "wrkwd";$payload = array("iat" => time(),"nbf" => time(),'exp' => time()+60,'id' => 1
);$jwt = JWT::encode($payload, $key);
echo $jwt;

我们输入账号跟密码点击提交,然后获取token,并存入浏览器缓存

然后我们点击确认是否有权限。

然后我们等待60s(我设置的exp 为60s),在进行点击返回的是

点击确认是否有权限的php文件(index.php)代码为

<?php
use FirebaseJWTJWT;
require './vendor/autoload.php';
ini_set("display_errors","On");
error_reporting(E_ALL);$headers = getallheaders(); //获取所有header头信息if (!isset($headers['Token'])) {echo 'No Have Token'; die;
}
$key = "wrkwd";
$token = $headers['Token'];try {$decoded = JWT::decode($token, $key, array('HS256'));echo 'Token 有效';} catch (FirebaseJWTExpiredException $exception){echo 'Token 无效';
}

这次是我简单的尝试奥,如果有什么问题,希望各位大佬可以提供帮助,谢谢大佬们!!

总结
1.账号密码登录,若正确则返回token
2.浏览器接收到token,存入本地(浏览器)缓存中
3.每次访问相关权限的时候,把本地缓存放入header头进行访问
4.php拦截器进行判断token。

希望自己可以努力成为自己想要的样子,加油加油!!!,大家也一起加油!!!

本文发布于:2024-02-02 13:22:29,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170685134844082.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:简易   PHP   JWT
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23