node 中jwt的使用token的加解密

2021-10-05 16:44:35 字數 3829 閱讀 7753

// nodejs+express+jwt-******

let jwt =

require

('jwt-******');

//秘鑰

let secret =

"laney"

;let time =10;

let tokenexpirestime =

1000*60

*60*24

*7;//token過期時間,毫秒為單位, 7天

module.exports =

catch

(err

)let exp = decodetoken.exp;if(

!exp)

// time*60*1000 = > 10分鐘

if(exp<

(date.

now(

)+time*60*

1000))

)}next()

;}else},

/* 生成token*/

maketoken

(username)

; token = jwt.

encode

(payload,secret)

;//加密

return token;}}

// jwt 編碼解碼方法

// jwt_encode(payload, key, algorithm, options)

// jwt_decode(token, key, noverify, algorithm)

var express =

require

('express');

var mysql =

require

('mysql');

var router = express.

router()

;let auth =

require

('../lib/auth.js');

/*建立資料庫鏈結*/

var db = mysql.

createconnection()

;// connect

db.connect

((err)

=>

console.

log(

'mysql connected...')}

)/* get users listing. */

router.

get(

'/',

function

(req, res, next));

//登入介面

router.

post

('/login'

,function

(req,res,next)

' and password='$'`

; db.

query

(adminstr,

(err, data)

=>

else);

}else

, token:token

},200)}

}});

});//註冊

router.

post

('/reg'

,(req,res)

=>)}

else

if(results.length>0)

= req.query;

var sqlinsert =

`insert into manage(username,password,phone) values("

$","

$","

$")`

; db.

query

(sqlinsert,

(err,results)

=>)}

res.

json()

})}}

)})//員工列表

router.

post

('/staffs'

,(req,res)

=>)}

res.

json()

})})

router.

use(

'*',

[auth.validate]

,function

(req,res,next));

//新增員工

router.

post

('/staffs/add'

,(req,res)

=>

= req.query;

console.

log(req.query)

;// var sqp2="insert into staffs(username,age,hometown,***) values('11','33','oo','ppp')";

var sqlinsert =

`insert into staffs(username,age,hometown,***) values("

$","

$","

$","

$")`

; db.

query

(sqlinsert,

(err,results)

=>)}

res.

json()

})})

;//刪除員工

router.

delete

('/staffs/delete'

,(req,res)

=>

= req.query;

console.

log(req.query)

;var sqldelete =

`delete from staffs where id=$`

; db.

query

(sqldelete,

(err,results)

=>)}

res.

json()

})})

;//修改員工

router.

post

('/staffs/update'

,(req,res)

=>

= req.query;

var sqldelete =

`update staffs set username = '

$',***='

$', age='

$', hometown='

$' where id = $`

; db.

query

(sqldelete,

(err,results)

=>)}

res.

json()

})})

;module.exports = router;

var formlogin =document.

getelementbyid

('formlogin');

document.

getelementbyid

('btnlogin'

).onclick =

async

function()

).then

((res)

=>);

}});

}//滑塊驗證碼

window.

addeventlistener

('load'

,function()

);

JWT在node中的簡單應用

json web token 縮寫 jwt 是目前最流行的跨域認證解決方案。是為了在網路應用環境間傳遞宣告而執行的一種基於json的開放標準 rfc 7519 該token被設計為緊湊且安全的,特別適用於分布式站點的單點登入 sso 場景。secreate key 是我們儲存再服務端服務端的隨機字串...

jwt在nginx lua中的使用

nginx是乙個web伺服器,也可以用作反向 負載平衡器,郵件 和http快取。nginx可用於建立乙個api閘道器,該api閘道器以事件驅動的方式處理請求,並以快速,資源占用少的方式處理對伺服器的查詢。此外,它還降低了複雜性並通過降低效能來最大化效能提供api呼叫的平均響應時間。我們大多數人都已經...

node中url的使用

一.parse方法來將乙個url字串轉換為url物件 url.parse parse方法還支援第二個和第三個布林型別可選引數。第二個引數等於true時,該方法返回的url物件中,query欄位不再是乙個字串,而是乙個經過querystring模組轉換後的引數物件。第三個引數等於true時,該方法可以...