egg-multi-jwt
是一个基于JSON Web Token (JWT)
的egg.js
插件,提供了多种JWT
验证策略,支持多用户、多角色和多应用程序,让您的应用程序更加健壮和安全。
安装
在您的egg.js
项目目录下,使用npm
安装egg-multi-jwt
:
npm install egg-multi-jwt --save
配置
在您的egg.js
项目的config/plugin.js
文件中添加插件:
// config/plugin.js exports.multiJwt = { enable: true, package: 'egg-multi-jwt', };
在config/config.default.js
文件中添加egg-multi-jwt
插件的配置信息:
-- -------------------- ---- ------- -- ------------------------ ---------------- - - ------- -------------- -- --------- --- ------ ---------- ----- -- -- --- ----- ----------- --- -- ------ --- --- ---------- --------------- -- ---- --- ----- - ------ -- ----------- --------------------- -- ---- ----- ----- ------------ ----- --------- -- - -- ------------ - --
配置项具体含义如下:
secret
:用于签名和验证 JWT 的密码或密钥,必选项。expiresIn
:JWT 的过期时间,默认为7
天,可选项。ignoreUrls
:无需验证 JWT 的路由数组,默认为空数组,可选项。tokenName
:存储 JWT Token 的 Cookie 名称,默认为access_token
,可选项。refreshUrl
:处理 Token 刷新的路由,默认为/api/refresh_token
,可选项。getIdentity
:获取用户信息的方法,该方法应该返回一个对象包含用户信息和角色信息。方法接受一个request
参数,必选项。
使用
验证 JWT
使用ctx.multiJwt.verify
方法验证 JWT:
-- -------------------- ---- ------- -- ---------------------- ----- -------------- ------- ---------- - ----- --------- - -- -- --- ----- ----- - ----------------------------------------------------- --- - -- -- --- ----- ------- - ----- -------------------------------- -- ----- -- ------- -- ------------- - -------- - ----- ------- - --------------- - ---- ------------- - - ------ -------------- -- - - -
获取用户信息
使用ctx.user
方法获取当前用户的信息和角色信息:
-- -------------------- ---- ------- -- ---------------------- ----- -------------- ------- ---------- - ----- --------- - -- ------ ----- ---- - -------------- -- ----- -- ---- -- ------------- - ----- - -
刷新 Token
如果 JWT 已过期,可以使用ctx.multiJwt.refresh
方法刷新 Token:
-- -------------------- ---- ------- -- ---------------------- ----- -------------- ------- ---------- - ----- --------- - -- ---- --- ----- ----- -------- - ----------------------------------------------------- --- - -- -- ----- ----- -------- - ----- ------------------------------------ -- -- ----- -- ------ ---------------------------------------------------- --------- - --------- ----- ------- ------------------------------- --- ------------- - - -------- -------- ----- -------- -- - ----- ------- - --------------- - ---- ------------- - - ------ -------- ----- ------- -- - - -
结语
egg-multi-jwt
插件提供了多种JWT
验证策略,让应用程序具有更高的安全性和可扩展性。使用此插件确保您的站点更加安全和健壮。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60057c4781e8991b448ebcbb