npm 包 @dsninjas/jwt 使用教程

阅读时长 3 分钟读完

简介

JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在各方之间作为 JSON 对象安全地传输数据。JWT 经常用于身份验证和授权。@dsninjas/jwt 是一个 npm 包,用于方便地操作 JWT,在前端开发中有广泛的应用场景。

安装

使用 npm 命令安装 @dsninjas/jwt:

使用

生成 JWT

使用 @dsninjas/jwt 的 sign() 方法,传入需要加密的 payload、秘钥和选项即可生成一个 JWT 字符串。

解析 JWT

使用 @dsninjas/jwt 的 verify() 方法,传入需要解析的 JWT 和秘钥即可得到解析后的 payload。

验证 JWT

-- -------------------- ---- -------
------ -------- ---- ----------------

----- --- - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----- ------- - -
  ----------- ----------
--

----- ------- - ----------- ------------- ---------

使用 @dsninjas/jwt 的 verify() 方法也可以验证一个 JWT 是否合法。通过传入选项,我们可以对 JWT 的算法、签发人等进行限制从而防止 JWT 被任意篡改。

支持的选项

sign()verify() 方法都支持传入选项,一下是支持的选项以及对应的功能:

  • algorithm:指定 JWT 的签名算法,默认为 HS256。
  • expiresIn:指定 JWT 的过期时间,默认为 1h。
  • audience:指定该 JWT 的使用方。
  • issuer:指定该 JWT 的签发人。
  • subject:指定 JWT 所面向的用户。
  • noTimestamp:是否忽略运行加入 JWT 的时间戳。
  • keyid:JWK 的上下文链接,可以用于指定密钥的位置。

结语

@dsninjas/jwt 是一个极其简单的 npm 包,但它在前端开发中的地位非常重要。掌握 JWT 的相关知识,在 Web 应用开发中将会大有帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572ad81e8991b448e8d1e

纠错
反馈