Authing 文档文档
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
应用集成
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
应用集成
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
旧版
概念
  • 什么是 Authing
  • 什么是用户池
  • 什么是应用
  • 什么是认证
  • 什么是联邦认证
  • 什么是零信任网络
  • 单点登录与单点登出
  • 什么是授权
  • 认证 vs 授权
  • 什么是 JWT Token
  • 什么是 ID Token
  • 什么是 Access Token
  • 什么是 Refresh Token
  • Access Token vs Id Token
  • 理解 OIDC 与 OAuth2.0 协议

  • OIDC 常见问题
  • 理解 SAML2 协议

  • 什么是多因素认证
  • 账号生命周期管理
  • 托管登录页 vs 可嵌入登录组件
  • CIAM 与 EIAM
  • 什么是 LDAP
  • 扫码登录的原理
  • 密码学基本概念
  1. 概念
  2. /
  3. 什么是 JWT Token

¶ 了解 JWT Token 释义及使用

更新时间: 2022-11-04 20:07:05
编辑

了解在 Authing 系统中如何验证 token:

如何验证用户身份凭证(token)

¶ JWT 简介

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

详细内容可以参考这篇文章:什么是 JWT (opens new window)。

¶ 认证流程

¶ 用户认证的流程

  • 用户使用账号(手机/邮箱/用户名)密码请求服务器
  • 服务器验证用户账号是否和数据库匹配
  • 服务器通过验证后发送给客户端一个 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://yourdomain.com/api/v1/your/resources",
    headers: {
      Authorization: "Bearer ID_TOKEN",
    },
  })
  .then((res) => {
    // custom codes
  });

注意第五行前面有 Bearer 类型。

¶ 什么是 Bearer?

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

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

上一篇: 认证 vs 授权 下一篇: 什么是 ID Token
  • JWT 简介
  • 认证流程
  • 安全限制
  • 客户端附带 JWT Token 的方式

用户身份管理

集成第三方登录
手机号闪验 (opens new window)
通用登录表单组件
自定义认证流程

企业内部管理

单点登录
多因素认证
权限管理

开发者

开发文档
框架集成
博客 (opens new window)
GitHub (opens new window)
社区用户中心 (opens new window)

公司

400 888 2106
sales@authing.cn
北京市朝阳区北辰世纪中心 B 座 16 层(总)
成都市高新区天府五街 200 号 1 号楼 B 区 4 楼 406 室(分)

京ICP备19051205号

beian京公网安备 11010802035968号

© 北京蒸汽记忆科技有限公司