最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJS使用JWT跨域身份驗證方案詳解

 更新時間:2023年02月06日 09:11:00   作者:碰磕  
JWT是為了在網(wǎng)絡應用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標準,其組成部分為Header、Payload、Signature.Payload部分才是真正的用戶信息,它是用戶信息經(jīng)過加密之后生成的字符串,Header和Signature是安全性相關的部分,只是為了保證token的安全性

JWT(jsonwebtoken)

目前最流行的跨域身份驗證解決方案

在nodejs中使用

安裝

npm install jsonwebtoken --save

使用

1.在路由中引入

var jwt = require('jsonwebtoken');

2.定義一個密鑰

const secret = 'nidemiyao'//用于加密

3.定義生成token的函數(shù)

	//生成token
//info也就是payload是需要存入token的信息
	function createToken(info) {
	    let token = jwt.sign(info, secret, {
	        //Token有效時間 單位s
	        expiresIn:60 * 60*24
	    })
	return token
}

4.定義驗證token的函數(shù)

//驗證Token
function verifyToken(token) {
    console.log(token)
    return new Promise((resolve, reject) => {
      jwt.verify(token, secret, (error, result) => {
            if(error){
                reject(error)
            } else {
                resolve(result)
            }
      })
    })
}

5.可以設置白名單

定義一下

//白名單
const whiteList = ['/manage/login']

6.使用

路由名.use((req,res,next) => {
    if(!whiteList.includes(req.url)) {
    	//判斷請求頭是否攜帶正確的token
        verifyToken(req.headers.authorization).then(res => {
            next()
        }).catch(e => {
            res.status(401).send('403')//驗證失敗返回什么
        })
    } else {
        next()
    }
})

場景

常用于登錄

通過創(chuàng)建密鑰返回給前臺,前臺進行一個本地保存,再在封裝請求中添加該請求頭token…即可實現(xiàn)加密!!!

//登陸
路由名.post("/manage/login",(req,res)=>{
    let {user}=req.body;
        let sql=`select *from admin where uname='${user.username}' and upassword='${user.password}'`;
        conn.query(sql,(err,result,fields)=>{
            if(err){
                return "失敗";
            }
            console.log(result)
            if(result.length!==0){
                let token =createToken(user)
                res.send({"result":result,"token":token});
            }else{
                res.send({"result":result});
            }
        })
});

這樣就實現(xiàn)簡單的使用了~

到此這篇關于NodeJS使用JWT跨域身份驗證方案詳解的文章就介紹到這了,更多相關NodeJS JWT內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談NodeJS中require路徑問題

    淺談NodeJS中require路徑問題

    學習Nodejs也是出于對這個新產物的好奇,而且有兩個重要項目也需要他的支持,所以要好好學學這個新語種。在nodejs中,模塊大概可以分為核心模塊和文件模塊。核心模塊是被編譯成二進制代碼,引用的時候只需require表示符即可
    2015-05-05
  • 使用 node.js 模仿 Apache 小部分功能

    使用 node.js 模仿 Apache 小部分功能

    這篇文章主要介紹了使用 node.js 模仿 Apache 小部分功能,文中給大家講到了服務端渲染與客戶端渲染之間的區(qū)別,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • node.js?readline和line-reader逐行讀取文件方法

    node.js?readline和line-reader逐行讀取文件方法

    Readline是Node的原生模塊。它是專門為從任何可讀流逐行讀取內容而開發(fā)的。它可用于從命令行讀取數(shù)據(jù),line-reader模塊是Node.js中逐行讀取文件的開源模塊。它不是本地模塊,所以你需要使用npm(節(jié)點包管理器)安裝它
    2022-10-10
  • 解決node-webkit 不支持html5播放mp4視頻的方法

    解決node-webkit 不支持html5播放mp4視頻的方法

    本文給大家分享的是解決node-webkit 不支持html5播放mp4視頻的方法,其原因大概是因為node-webkit沒有購買mp4格式的專利授權,恩,我們來想個辦法來解決這個事情吧。
    2015-03-03
  • 詳解如何使用Node.js編寫命令工具——以vue-cli為例

    詳解如何使用Node.js編寫命令工具——以vue-cli為例

    本篇文章主要介紹了如何使用Node.js編寫命令工具——以vue-cli為例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • nodejs中模塊定義實例詳解

    nodejs中模塊定義實例詳解

    這篇文章主要介紹了nodejs中模塊定義方法,結合實例形式分析了nodejs模塊的原理、常見模塊及相應的定義方法,需要的朋友可以參考下
    2017-03-03
  • nodejs實現(xiàn)爬取網(wǎng)站圖片功能

    nodejs實現(xiàn)爬取網(wǎng)站圖片功能

    給大家通過一個實例來教學如何用nodejs實現(xiàn)爬取網(wǎng)站圖片功能,有興趣的朋友收藏一下吧。
    2017-12-12
  • nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法

    nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法

    這篇文章主要介紹了nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • Highcharts+NodeJS搭建數(shù)據(jù)可視化平臺示例

    Highcharts+NodeJS搭建數(shù)據(jù)可視化平臺示例

    本篇文章主要介紹了Highcharts+NodeJS搭建數(shù)據(jù)可視化平臺,詳細的介紹了使用Highcharts框架的經(jīng)驗,有興趣的可以了解一下。
    2017-01-01
  • Nodejs 構建Cluster集群多線程Worker threads

    Nodejs 構建Cluster集群多線程Worker threads

    這篇文章主要為大家介紹了Nodejs 構建Cluster集群多線程Worker threads示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10

最新評論

无极县| 道真| 贡嘎县| 郎溪县| 垦利县| 缙云县| 科技| 南雄市| 左云县| 万安县| 贡山| 洞头县| 呈贡县| 当涂县| 塘沽区| 额济纳旗| 河西区| 阿尔山市| 安顺市| 土默特左旗| 凭祥市| 彝良县| 嘉黎县| 敦煌市| 镇江市| 启东市| 丰顺县| 章丘市| 连城县| 新津县| 淅川县| 永泰县| 龙江县| 荆门市| 龙游县| 乡宁县| 裕民县| 松滋市| 胶南市| 阜平县| 萨嘎县|