前言
现在的开发当中自然少不了接口的编写,我们需要使用一些验证规则来对我们的接口来进行限制访问,这里面就涉及到了一些接口认证的插件了,上次我在博客中讲了怎么去使用 passport
来做接口的认证,但是上次的博客中似乎没有提到 passport
的 token
过期时间问题,其实是我的前端知识较浅,我以为前端不能实时获取我的 token
来放在请求头,所以我就默认原来 passport
的配置(默认过期时间为一年)不修改他的过期时间了,随着这一段时间对前端的知识慢慢了解,知道前端也可以像后端一样定义变量,实时获取了,然后我就去研究了一番这个 passport
所谓的 token
怎么在一定的时间内让他过期了,刚开始我看了 passport
的底层源码,发现他有写 token
的方法,我一想着挺简单啊,东西都写好了,我直接拿出来用不就行了么?
这是 passport
底层封装的 token
过期方法:
passport
底层封装的 token
过期时间方法
但是问题来了,我在 AuthServiceProvider.php
里面的 boot
方法中添加了这两个方法,并且传出对应的值,可是还是不生效,这就很头大了,这执行不到咋整,然后我就去找了谷爹、度娘询问究竟,最后在 phphub
上找到了我想要的答案,原来是需要在 AppServiceProvider.php
这个文件中的 boot
方法中去实现设置我们的token
时间,其实具体原理到这我就不太清楚了,我就知道这样写能达到我想要的效果,在 AppServiceProvider.php
中的 boot
方法中加入如下代码:
1 |
|
如图:
AppServiceProvider.php
中设置 token
过期时间
这里的TP60S其实是 PHP
里的 DateInterval
类(点此查看DateInterval类),表示一个时间周期的类,其实我也很纳闷,现在不是有 Carbon
的写法么,为啥要用这么死板的写法,后面想想其实有可能在开发这个功能的时候还没有 Carbon
这个函数呢,到此,passport
设置 token
过期时间就结束了,尽情的使用 postman
去测试吧!