Token 的简述

token 顾名思义就是一块令牌(临时的令牌),我们可将它理解为一种暗号,类似于对口号。这个令牌 token 是由服务器生产,一串字符串,然后会一式两份分别有客户端 与 服务器保管。

Token 的作用
  1. token 可以免去从前标记用户登录的方式,不需要繁多的登录操作,请求端只需要携带 token 去访问服务器,服务器会根据 token 认证是否成功进行区别响应。
  2. token 更好的确保用户的信息与财产安全,防止 CSRF 攻击(简单说就是防止被盗号),因为我们只需要在信任的网站输入账号+密码登录即可,如果访问其它(第三方)级别不高的网站需要认证时,我们可以仍然可以选择安全的网站去登录认证,然后通过携带 token 去访问安全系数稍低的网站。
Token 说明

token 是一串字符串,但不表示长度固定或者格式一定相同,因为虽然我们可以使用 JWT 规范来生成 token,但我们同样可以自定义生成 token 的方式,只要保证我们的 token 有关键的 key 与 value ,然后能够正常加解密(同样可以自定义加解密方式),通常 token 包含足够的信息(信息放入多少及哪些取决编码):比如用户id,时限,此token的唯一标识等等,通过拼接各键值对并加解密得到 token 字符串,示例如下:

fbb91fa4-524f-4e97-8c18-9d5891baea65  // token 最后的模样
Token 的时效

既然 token 是暗号,那我们自然会想到肯定不会永远用同样一句暗号,定期更换是最合理的,但我们也不可能将 token 的有效时间设置太短(太短就会出现 token 过期 就需要用户重新登录 体验会很差),通常 token 的过期时间不会超过1小时,为了使我们设置token时间不相互矛盾,这里需要引入 Refresh Token 对象。
其实两者很相似都是加密过的字符串,Refresh Token 存在就是为了当客户端的 Token 过期后能够高效快捷的进行刷新,重新获取 Token(注意仅获取新 Token),至于 Refresh Token 的过期时间设置就稍稍随意些(1天7天甚至几个月均可以)。当 Refresh Token 对象也过期后,就需要用户重新登录认证了。

关于 Token 与 Refresh Token 使用方式、时机、时序等如下图所示

登录认证:

请求:

token 与 refresh token 配合使用。

auth认证相关 --token 深入了解相关推荐

  1. Python攻城师的成长————Django框架(csrf相关装饰器、基于中间件思想编写项目、auth认证模块)

    今日学习目标 逐步掌握csrf相关装饰器.基于中间件思想编写项目.auth认证模块知识点 文章目录 今日学习目标 学习内容 一. csrf相关装饰器 二.基于中间件思想编写项目 三.auth认证模块 ...

  2. gRPC教程 — TLS单向认证、双向认证、Token认证、拦截器

    gRPC教程 - 使用TLS时相关问体积解决办法 本文代码 问题重现 解决办法 一.生成CA根证书 1.1 在证书存放文件夹下 新建 `ca.conf`,写入内容如下: 1.2 生成ca秘钥,得到ca ...

  3. Laravel 5.5 使用 Passport 实现 Auth 认证

    最近在写一个前后端分离项目,本来想用 Jwt-auth + Dingo 开发的,但是略感笨重,于是想到了 Laravel 的 Passport 和 5.5 新出的 Api Resource.Larav ...

  4. django CBV装饰器 自定义django中间件 csrf跨站请求伪造 auth认证模块

    CBV加装饰器 第一种 @method_decorator(装饰器) 加在get上 第二种 @method_decorator(login_auth,name='get') 加在类上 第三种 @met ...

  5. 4种Spring Boot 实现通用 Auth 认证方式

    摘要: 文章介绍了 spring-boot 中实现通用 auth 的四种方式,包括传统 AOP.拦截器.参数解析器和过滤器,并提供了对应的实例代码,最后简单总结了下它们的执行顺序. 本文分享自华为云社 ...

  6. 接口规范 9. 推流认证相关接口

    9 推流认证相关接口 9.1.开启推流认证 用途 针对某个应用,开启推流认证. 开启推流认证后,所有向该应用下的推送直播流的请求都需要做合法性认证,只有认证通过的请求才会允许推送. 认证的方法包括to ...

  7. 接口规范 8. 播出认证相关接口

    8 播出认证相关接口 8.1.开启播出认证 用途 针对某个应用,开启播出认证. 开启播出认证后,所有播放该应用下的视频流的请求都需要做合法性认证,只有认证通过的请求才会允许播放. 认证的方法包括tok ...

  8. framework —— auth认证

    ramework -- auth认证 1.目录结构 2.urls.py from django.conf.urls import url from django.contrib import admi ...

  9. csrf跨站请求伪造,CBV添加装饰器,auth认证模块,基于django中间件设计项目功能

    文章目录 csrf跨站请求伪造 csrf的定义 csrf的分类 csrf的攻击过程 csrf的攻击条件 举例说明 Django提供的解决策略 csrf相关装饰器 FBV CBV 方法一(直接在类中的某 ...

最新文章

  1. 更改chrome底色为护目色
  2. Spring+Velocity中模板路径的问题
  3. git File name too long
  4. JDBC驱动的动态加载
  5. 使命召唤手游迎来欧阳娜娜,这阵容够豪华,玩家期待吗?
  6. linux命令-- 抓包
  7. Shell程序设计 | 基本语法 :变量、I/O、算术运算、条件判断、流程控制、函数
  8. 2019.08 me
  9. 中国数码电影摄影机行业市场供需与战略研究报告
  10. 2017中国“互联网+”数字经济指数 | 腾讯研究院
  11. 每个人都应该具备点批判性思维
  12. java牛客网输入输出
  13. Leetcode 刷题 - 排序(day2)_桶排序_Top K Frequent Elements
  14. 魅族开机卡flyme转圈圈
  15. 一步一步学RenderMonkey
  16. 手机邮箱怎么弄_安卓手机邮箱设置教程 教您如何使用手机接收邮件
  17. 通过IDM提高QQ群文件下载速度
  18. Qt +百度地图+获取返回位置点
  19. vue项目--资产管理系统
  20. 生活质量衡量系统_绿茶提取物可改善系统性红斑狼疮疾病活动以及生活质量

热门文章

  1. 基于MatLab实现LSB(最低有效位)算法完成图片数字水印隐写功能
  2. 如何解除病毒对各种杀毒软件的劫持
  3. 根据经纬度查询地理位置
  4. Servlet实例化异常以及tomcat子级启动失败的可能原因
  5. 多御浏览器新出的手机版本有什么功能?
  6. PyCharm下载安装及配置使用教程(全过程详细截图)
  7. CF1395A Boboniu Likes to Color Balls
  8. 计算机关机慢怎么解决方法,为什么电脑关机很慢|电脑关机缓慢的解决方法
  9. matlab移相法实现单边带调制,移相法实现单边带信号的调制
  10. (一)Python基础语法