token & refresh token 机制总结

废话

我在项目上写了个配置页面,之前很简单直接登录,毕竟配置页面自己人用就没有做token机制,后来公司的安全审核不过,现在要加上token和刷新机制。小结一下。

token和刷新机制

token机制就是在登录成功后返回一个token,并缓存起来,之后每个请求头里带上token,后端验证不通过返回401,前端就直接跳转到登录页。这样就能防止直接访问某个链接就能跳到登录页的尴尬局面。

token刷新机制就是在使用的时候使用某个机制使得这个token不过期,不会跳转到登录页。而没有使用的时候token会过期,他隔得太久了再调接口就是401,就会跳到登录页。

两种token刷新机制

第一种(后端提供刷新接口)

客户端 服务端
--- 发送username & password --->
<--- 返回accesstoken & refreshtoken ---
--- 访问接口携带accesstoken --->
<--- 返回信息/401 ---
--- accesstoken过期访问刷新接口携带refreshtoken --->
<--- 返回新的accesstoken/401 ---
--- 访问接口携带新的accesstoken --->
<--- 返回信息/401 ---

这种情况下 refreshtoken可以设置的时间长一点,而accesstoken设置的时间短一点,我们固定一个用户活跃周期;

活跃周期 = token周期 * 2 ;

eg:活跃周期(at);token周期(et);accesstoken(5 min);refreshtoken(1 day);
用户在15:00登录,返回token生命周期(et)是[15:00-15:05];用户活跃周期为[15:00-15:10];
如果用户在15:06调用接口,携带accesstoken会返回401过期,此时在活跃周期范围内,则调用refreshtoken刷新接口,返回新的accesstoken;
此时:et[15:06-15:11],at[15:06-15:16];
如果用户在15:17分调用接口携带accesstoken会返回401过期,此时不再活跃周期内,则跳转到登录页;

第二种(靠前端cookie实现)

客户端 服务端
--- 发送username & password --->
<--- 返回accesstoken ---
cookie存储设置过期时间
--- 访问接口携带accesstoken --->
<--- 返回信息/401 --->
调用成功,覆盖延长cookie过期时间 --->

这种情况后端accesstoken可以设置的时间长一点;

前端将token存在cookie中,维护一个过期时间,每次调用接口成功后就覆盖延长这个过期时间,不调用接口的时候自然会超时了;

以上;

token & refresh token 机制总结的更多相关文章

  1. Access Token 与 Refresh Token【转载哒科普啊】

    Access Token 与 Refresh Token   access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因 ...

  2. Oauth2.0(三):Access Token 与 Refresh Token

    access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因为,access token 在使用的过程中可能会泄露.给 a ...

  3. Oauth2.0:Access Token 与 Refresh Token

    access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因为,access token 在使用的过程中可能会泄露.给 a ...

  4. asp.net core使用identity+jwt保护你的webapi(三)——refresh token

    前言 上一篇已经介绍了identity的注册,登录,获取jwt token,本篇来完成refresh token. 开始 开始之前先说明一下为什么需要refresh token. 虽然jwt toke ...

  5. ASP.NET OAuth:解决refresh token无法刷新access token的问题

    最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_gran ...

  6. ASP.NET OWIN OAuth:遇到的2个refresh token问题

    之前写过2篇关于refresh token的生成与持久化的博文:1)Web API与OAuth:既生access token,何生refresh token:2)ASP.NET OWIN OAuth: ...

  7. ASP.NET OWIN OAuth:refresh token的持久化

    在前一篇博文中,我们初步地了解了refresh token的用途——它是用于刷新access token的一种token,并且用简单的示例代码体验了一下获取refresh token并且用它刷新acc ...

  8. ASP.NET OAuth:access token的加密解密,client secret与refresh token的生成

    在 ASP.NET OWIN OAuth(Microsoft.Owin.Security.OAuth)中,access token 的默认加密方法是: 1) System.Security.Crypt ...

  9. Web API与OAuth:既生access token,何生refresh token

    在前一篇博文中,我们基于 ASP.NET Web API 与 OWIN OAuth 以 Resource Owner Password Credentials Grant 的授权方式( grant_t ...

随机推荐

  1. mac SSH私钥取消密码(passphrase)

    取消私钥中的密码: 1.使用openssl命令去掉私钥的密码openssl rsa -in ~/.ssh/id_rsa -out ~/.ssh/id_rsa_new 2.备份旧私钥mv ~/.ssh/ ...

  2. [bug] Maven:No valid Maven installation found.maven

    原因 从别处复制来的项目,maven路径没有改过来 参考 https://blog.csdn.net/qq_40846086/article/details/81252736

  3. [bug] C:error: initializer element is not constant

    参考 http://codingdict.com/questions/45121

  4. [DB] 关系型数据库

    名词 数据库(database):保存有组织的数据的容器,是通过DBMS创建的容器 表(table):某种特定类型数据的结构化清单 元组(tuple):行,一条数据库记录,对应一个事物 属性(prop ...

  5. MergingSort

    递归排序的两种实现 <script type="text/javascript"> //归并排序(递归实现) //思想:堆排序利用了完全二叉树的性质,但是比较麻烦 // ...

  6. [Windows] 屏幕截图 - FastStone Capture(FSCapture) v9.4 飞扬时空汉化绿色版(官方地址) 【清晰好用 已验证】

    [Windows] 屏幕截图 - FastStone Capture(FSCapture) v9.4 飞扬时空汉化绿色版(官方地址) [复制链接]     愤怒の葡萄 电梯直达 楼主    发表于 2 ...

  7. gparted 当分区空间大于1T 用gparted分区

    lsblkfdisk -lparted -s /dev/sdb mklabel msdos parted -s /dev/sdb mkpart primary 0 100%lsblk dfparted ...

  8. ActiveMQ FileServer漏洞(详细)

    半个月前,巡检时发现服务器出现不明进程,对其进行了处理,由于当时没有做详细记录,在这里把大致过程描述一下. 症状: ps命令发现出现几个不明进程, 1.于/tmp下运行的,名称随机的进程.占用CPU高 ...

  9. Windows10查看电脑的USB接口是2.0还是3.0

    Windows10查看电脑的USB接口是2.0还是3.0原创小晓酱手记 最后发布于2019-08-22 16:09:48 阅读数 3662 收藏展开 同事要拷贝资料给我,问我电脑的USB接口是2.0还 ...

  10. HDFS 的内存存储是什么?

    引言 HDFS 的定位就是一个文件系统,用于存储文件,而 HDFS 对于文件的存储方式有两种: 内存存储 异构存储 内存存储 什么是内存存储? 首先,我们来了解一下到底什么是 "内存存储&q ...