在前端开发中,经常需要处理安全相关的问题,其中的一项就是关于 token 的处理。@coolgk/token 就是一个方便处理 token 的 npm 包。
什么是 @coolgk/token
@coolgk/token 是一个用于创建,校验和解密 JSON Web Token(JWT)的轻量级库。
如何安装 @coolgk/token
在终端输入以下命令:
npm install @coolgk/token
如何使用 @coolgk/token
创建 token
使用 createToken(payload, secretOrPrivateKey, [options]) 函数创建 token,其中:
- payload:要编码的数据
- secretOrPrivateKey:用于签署 token 的私钥或者对称秘钥
- options(可选):
- expiresIn:指定 token 失效时间
- notBefore:指定 token 开始生效的时间
示例代码:
-- -------------------- ---- ------- ----- - ----------- - - ------------------------- ----- ------------------ - ---------------------- -- --------------- ----- ------- - - ---------- ------- --------- ------ -- ----- ----- - -------------------- ------------------- - ---------- ----- --- -------------------
校验 token
使用 isTokenValid(token, secretOrPrivateKey, [options]) 函数校验 token 合法性,其中:
- token:要校验的 token 字符串
- secretOrPrivateKey:用于验证 token 的公钥或者对称秘钥
- options(可选):
- ignoreExpiration:是否忽略 token 失效时间
示例代码:
-- -------------------- ---- ------- ----- - ------------ - - ------------------------- ----- ------------------ - ---------------------- -- --------------- ----- ----- - ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----- ----------------- - - ----------------- ------ -- ----- ------- - ------------------- ------------------- ------------------- --------------------- -- -- ---- - -----
解密 token
使用 decodeToken(token, [options]) 函数解密 token,其中 options 可选,用于指定是否验证和签署 token。
示例代码:
const { decodeToken } = require('@coolgk/token'); const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaXJzdE5hbWUiOiJKb2huIiwibGFzdE5hbWUiOiJEb2UiLCJpYXQiOjE2MDM2NTQ0MDAsImV4cCI6MTYwMzY1ODEwMH0.0RXX7FJnqp-CdnVzO-F9X_cS543BEfcCdUr0rxknkD4'; const payload = decodeToken(token); console.log(payload);
总结
通过本文的介绍,我们了解到了如何使用 @coolgk/token 来方便处理 token 相关的问题。希望读者通过本文的学习,能够更加熟练地掌握这个 npm 包的使用,更好地应用于实际开发中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/coolgk-token