关于JWT身份验证

  • 平台
  • Evoq内容
  • Evoq参与

概述

JSON Web标记(JWT)是一种开放标准(IETF RFC 7519)数据格式紧凑,独立的和安全的。它是用于传递信息,空间是有限的,比如HTTP header和URI的查询。

  • 紧凑。因为编码的JWT由JavaScript对象表示法(JSON)对象,它紧凑足以通过一个URL发送查询,POST参数,或者一个HTTP头。JSON对象是简单和更紧凑的安全性断言标记语言(SAML)断言,它使用XML。由于其规模较小,也可以传播得更快。
  • 自包含的。JWT可以包含所有必需的信息用户,因此避免了不止一次查询数据库。
  • 安全。JWT可以用下列方法之一进行数字签名:
    • HMAC算法,使用一个秘密
    • RSA算法,使用一个公共/私有密钥对

JWT是理想的应用程序不能或不想使用cookie,如移动本机应用程序和桌面应用程序。在一个标准的一下应用程序中,用户登录一个网站和接收一个会话/令牌饼干的浏览器发送回每个网站后续请求,为了避免与每个请求检查用户的凭证。JWT简单地取代了饼干的令牌更小、更快的传播。

JWT身份验证

注意:JWT身份验证提供者有款产品;然而,它必须单独安装和启用。款使用JWT仅供验证。

JWT过程

  1. 用户登录的用户名和密码或其他安全凭据。浏览器或客户端应用程序发送一个POST请求用户凭证,通过HTTPS连接发送。
  2. 检查用户的凭据登录数据库。如果有效,服务器创建和加密访问JWT,储存在体内的响应。
  3. 当用户请求一个页面时,浏览器或客户端应用程序商店访问JWT内授权部分的请求。
  4. 服务器验证JWT签名和提取用户信息从JWT负载。
  5. 所请求的页面或资源发送给客户端。