什么是 JWT Token

  • JWT 简介
  • 认证流程
  • 用户认证的流程
    • 安全限制
  • 客户端附带 JWT Token 的方式
  • Bearer 是什么意思?

JWT 简介

JSON Web Token (JWT,RFC 7519 (opens new window)),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519)。该 token 被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该 token 也可直接被用于认证,也可被加密。

认证流程

用户认证的流程

  • 用户使用账号(手机/邮箱/用户名)密码请求服务器
  • 服务器验证用户账号是否和数据库匹配
  • 服务器通过验证后发送给客户端一个 JWT Token
  • 客户端存储 Token,并在每次请求时携带该 Token
  • 服务端验证 Token 值,并根据 Token 合法性返回对应资源

安全限制

为防止用户恶意注册,系统对 IP 默认进行了限制,条件如下:

  • 单 IP 5 分钟内连续注册超过 3 次会被禁止;
  • 单 IP 5 分钟内连续登录失败超过 3 次会要求输入验证码;

客户端附带 JWT Token 的方式

用户在完成认证后会返回开发者一个 JWT Token,开发者需将此 Token 存储于客户端,然后将此 Token 发送给开发者受限的后端服务器进行验证。

建议使用 HTTP Header Authorization 的形式携带 Token,以下以 JavaScript 的 axios 库为例示范如何携带:

const axios = require("axios");
axios.get({url: "https://domain.com/api/v1/",headers: {Authorization: "Bearer ID_TOKEN",},}).then((res) => {});

Bearer 是什么意思?

Bearer Token (RFC 6750 (opens new window)) 用于授权访问资源,任何 Bearer 持有者都可以无差别地用它来访问相关的资源,而无需证明持有加密 key。一个 Bearer 代表授权范围、有效期,以及其他授权事项;一个 Bearer 在存储和传输过程中应当防止泄露,需实现 Transport Layer Security (TLS);一个 Bearer 有效期不能过长,过期后可用 Refresh Token 申请更新。

建议开发者遵循规范,在每次请求的 Token 前附带 Bearer。

什么是 JWT Token相关推荐

  1. Spring Security 实战:登录成功后返回 JWT Token

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 170元买400元书的机会又来啦! 1. 前言 欢迎阅读 Spring Security 实 ...

  2. 更轻易地实现 Jwt Token

    更轻易地实现一个 Jwt Server Intro 最近在多个项目中都有用到 Jwt Token 认证,就想着把之前项目里 Jwt Token 的使用封装一下,以便于之后集成起来更加地方便,不用再拷贝 ...

  3. Jwt Token 的刷新机制设计

    Jwt Token 的刷新机制设计 Intro 前面的文章我们介绍了如何实现一个简单的 Jwt Server,可以实现一个简单 Jwt 服务,但是使用 Jwt token 会有一个缺点就是 token ...

  4. ASP.NET Core 自动刷新JWT Token

    为了安全性考虑,我们可以设置JWT Token较短的过期时间,但是这样会导致客户端频繁地跳到登录界面,用户体验不好. 正常解决办法是增加refresh_token,客户端使用refresh_token ...

  5. 使用identity+jwt保护你的webapi(二)——获取jwt token

    前言 上一篇已经介绍了identity在web api中的基本配置,本篇来完成用户的注册,登录,获取jwt token. 开始 开始之前先配置一下jwt相关服务. 配置JWT 首先NuGet安装包: ...

  6. IdentityServer4实战 - JWT Token Issuer 详解

    一.前言 本文为系列补坑之作,拖了许久决定先把坑填完. 下文演示所用代码采用的 IdentityServer4 版本为 2.3.0,由于时间推移可能以后的版本会有一些改动,请参考查看,文末附上Demo ...

  7. IdentityServer4实战 - 谈谈 JWT Token 的安全策略

    一.前言 众所周知,IdentityServer4 默认支持两种类型的 Token,一种是 Reference Token,一种是 JWT Token .前者的特点是 Token 的有效与否是由 To ...

  8. jwt token 太长_理解 JWT 鉴权的应用场景及使用建议

    JWT 介绍 JSON Web Token(JWT)是一个开放式标准(RFC 7519),它定义了一种紧凑(Compact)且自包含(Self-contained)的方式,用于在各方之间以JSON对象 ...

  9. jwt token注销_退出登录时怎样实现JWT Token失效?

    退出登录时,如果不使JWT Token失效会产生如下2个问题 问题1-未过期的token还是可以用 要是用户在多个设备登录了,而且本地保存了token.当一个地方丢弃token,但是这个token要是 ...

  10. jwt token 附加用户信息_JWT的正确使用方法,API开发为什么使用JWT

    API开发越来越成为主流,需要各自Access Token做登录状态. 甚至目前web端mvvm应用,如angular.vue.react都使用了jwt方式,也就是不再使用cookie和session ...

最新文章

  1. 解决修改css或js文件,浏览器缓存更新问题。
  2. oracle 怎么创建约束,Oracle创建约束
  3. RHEL6.3配置文件共享(5) Samba服务之三
  4. 模拟退火算法SA参数设置实验记录
  5. 关于Windows Phone 7开发工具离线安装包
  6. SpringMVC的Controller方法返回值
  7. .bashrc和.vimrc以及一些比较有用的linux命令
  8. 销售面销五个最基础步骤步骤_3个步骤,可提供强有力的反馈
  9. 创业失败感悟第十四天
  10. lora发射和接收原理_无线收发模块LoRa
  11. mysql配置优化ya_mysql性能调优工具之mytop
  12. 16.高性能MySQL --- MySQL用户工具
  13. Jenkins Config File Provider 插件 创建kubeconfig文件
  14. EDM模板编写踩坑指南(持续更新中)
  15. 用ChatGPT实现变现的多种方法
  16. 单片机 蓝牙/WIFI无线遥控智能家居系统设计
  17. 盘点闪电网络将在2020年爆发的九大理由
  18. BUUCTF-Crypto-看我回旋踢
  19. LVT, RVT(SVT, NVT), HVT 的区别
  20. Javascript判断是否iphone全面屏手机

热门文章

  1. IOS改地区:美国、新西兰等等
  2. C++for循环经典九九乘法表打印
  3. XUI Android原生的UI框架的配置指南
  4. ToLua(LuaFramework) - ToLua开篇与项目演示案例-tolua最全教程
  5. [2007-03下](Lgz独家秘笈)利用ACDSee5编辑,归档多部DC拍摄的图片
  6. MacOs12Macbookpro读写NTFS
  7. win10硬盘根目录下出现msdia80.dll解决办法
  8. 《VP9 Video Codec》Overview
  9. 磁滞回线与软磁材料和硬磁材料的关系
  10. 【金蝶】金蝶KIS专业版9.1清理用户名密码