egg簽發(fā)令牌token

egg框架搭建好
在router.js中配置幾個(gè)路由

常用的配置:config文件夾下
1.關(guān)閉安全策略,才可以使用post請(qǐng)求
2.調(diào)大上傳限制 防止大文件圖片上傳不了
3.jwt 令牌的配置項(xiàng)之一

// config.default.js
 const config = exports = {
    security: {//關(guān)閉安全策略 開(kāi)啟post之旅
      csrf: {
        enable: false,
      },
    },
    bodyParser: {//解除文件上傳大小限制
      jsonLimit: '100mb',
      formLimit: '100mb',
    },
    jwt: {  //令牌配置項(xiàng)
      secret: "123456"
    }
  };

  config.middleware = ['jwtErr'];

plugin.js配置
1.第一個(gè)是關(guān)于mysql的插件,很方便
2.令牌配置項(xiàng)之一
3.此文件里的package的值都是依賴,要下載

module.exports = {
  mysql: {
    enable: true,
    package: 'egg-mysql',
  },
  jwt: {
    enable: true,
    package: 'egg-jwt',
  }
};

app文件夾下新建立文件夾middleware
內(nèi)部新建js jwtErr.js
在第一塊代碼塊中 會(huì)注冊(cè)這個(gè)js

module.exports = (options, app) => {
    return async function (ctx, next) {
        try {
            await next();
        } catch (e) {
            ctx.status = 401;
            ctx.body = {
                msg: '身份過(guò)期,重新登錄',
                code: -1,
            }
        }
    }
}

在需要的路由上設(shè)置app.jwt
設(shè)置了的路由會(huì)根據(jù)令牌的有效時(shí)間對(duì)你次路由內(nèi)的請(qǐng)求做判斷,失效就不能請(qǐng)求,返回401,需重新登錄,獲取新的token值

router.get('/getaside', app.jwt, controller.home.getaside.getaside);//獲取后臺(tái)側(cè)欄數(shù)據(jù)

注意:你發(fā)的請(qǐng)求必須有請(qǐng)求頭,屬性為Authorization,值是登錄成功獲取的token
所以有必要封裝有個(gè)axios,官方網(wǎng)站上有請(qǐng)求攔截的介紹,只需return一個(gè)header頭,帶上egg-jwt的專(zhuān)屬請(qǐng)求頭即可

還有一點(diǎn):egg-jwt的創(chuàng)建令牌方法:

const token = app.jwt.sign({ foo: 'bar' }, app.config.jwt.secret);

//  返回給前端 存本地 發(fā)請(qǐng)求時(shí)帶上請(qǐng)求頭

這個(gè)令牌第一個(gè)參數(shù)可以把賬號(hào)密碼的對(duì)象穿進(jìn)去,{user:admin,pwd:123456},就像這樣

返回給前端 存本地 發(fā)請(qǐng)求時(shí)帶上請(qǐng)求頭
返回給前端 存本地 發(fā)請(qǐng)求時(shí)帶上請(qǐng)求頭
返回給前端 存本地 發(fā)請(qǐng)求時(shí)帶上請(qǐng)求頭

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容