美文网首页
token生成与过期机制

token生成与过期机制

作者: 在路上phper | 来源:发表于2019-05-20 22:41 被阅读0次

    上一节我们用php生成了一段api 每次我们请求地址都会生成一个token


    image.png

    api地址如上
    如何做到让其不是每次请求都重新生成新的token呢 而是根据过期时间来使token过期后再重新生成 没达到过期时间这个值 就保持token不变
    常见做法


    image.png
    首先思路是第一次请求地址时 生成token存在redis里 然后第二次请求地址时 先去redis里检查是否有设置的key 如果有 则从redis里取 没有在重新生成 (其实过期时间是变化的 否则始终是3600秒就没有意义了)
    image.png

    下面看下后端代码
    RedisObject.php里面做些redis初始化工作


    image.png
    修改下token.php
    image.png
    加入了token的验证 存入redis判断
    最后有个checktoken.php
    检查请求是否带有token
    image.png
    接下来请求下token 看看有什么变化
    image.png
    可以发现过期时间发生了变化

    并且刷新页面token并不变化
    其实这个过期时间变化 是利用redis里面的ttl命令
    用redis客户端测试下


    image.png
    我在redis里面设置了一个key 为name 并且设置过期时间为100s
    可以获取key 并且还能用ttl命令查看剩余多少秒时间
    image.png
    image.png
    其中token_bhc是我们程序中设置的key
    可以用ttl token_bhc查看其剩余的时间
    我们还可以把前几接学的请求最新新闻api加入token验证
    image.png
    请求出现如上 401
    image.png
    控制台里面status也可以看见
    是因为我们在代码里面加入了token验证
    image.png
    我们把token带上请求
    image.png
    可以发现正常显示内容 而且请求status也显示200了

    相关文章

      网友评论

          本文标题:token生成与过期机制

          本文链接:https://www.haomeiwen.com/subject/vealzqtx.html