在3-12提到了refresh_token?

来源:3-13 完善签到组件

zippen

2020-04-05 17:54:22

刚刚百度了,全是理论知识,没有具体代码的实现,有上了npm官网,搜索json-web-token,

然后ctrl+f搜refresh关键词,居然什么都没。。。到底refresh_token具体在代码里怎么使用啊?

用jwt生成的吗?逻辑又是怎么样的呢?为什么refresh_token是24个小时的呢?不是自由设置时间

的吗?token不是只会生成一个的吗?refreshtoken哪里冒出来的

写回答

1回答

Brian

2020-04-06

刚刚百度了,全是理论知识,没有具体代码的实现,有上了npm官网,搜索json-web-token,

然后ctrl+f搜refresh关键词,居然什么都没。。。到底refresh_token具体在代码里怎么使用啊?

——生成token的时候,有一个expire属性,利用它。

用jwt生成的吗?

——是的

逻辑又是怎么样的呢?

——机制:

  1. 登录的时候,生成两个token

  2. token的过期时间设置成1小时-1天,refresh_token的时间设置成7-30天

  3. 用户本地存两个token

  4. 用户每次与服务器端请求的是token

  5. 而且服务器端检测到token过期后,禁止token继续访问接口

  6. 客户端收到token过期的返回之后,使用本地的refresh token请求服务端refresh接口,获取一个新的token,之后的请求用这个新的token

  7. 如果refresh的过程中,服务器发现refresh token过期,则用户需要再次登录。

为什么refresh_token是24个小时的呢?不是自由设置时间的吗?

——refresh

token不是只会生成一个的吗?refreshtoken哪里冒出来的

——人为加的,为了更安全,可以参考:https://tools.ietf.org/html/rfc6749#section-1.5

这个上面有张图,可以看看,解释的很清楚。


0
hrian
回复
hippen
h 这属于扩展的内容了,前面的课程的内容,没有设计涵盖,所以我在课程中提到只是扩展大家的知识视野~~,这样在生产中去设计会更安全。有了课程的token部分的介绍,了解机制后,应该不难自己可以去完成的。我相信大家哦~你可以试着完成后,提交课程PR。
h020-04-06
共2条回复

0 学习 · 1842 问题

查看课程