// 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時,該方法可以...