From d18d44fa5c1c54d01aaa027aa2be54cb1fd3324d Mon Sep 17 00:00:00 2001
From: wangrong <wangrong@shsening.com>
Date: 星期四, 16 十二月 2021 20:52:51 +0800
Subject: [PATCH] 增加jwt校验
---
js/index.js | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/js/index.js b/js/index.js
index 1b60270..be3e7a7 100644
--- a/js/index.js
+++ b/js/index.js
@@ -18,6 +18,35 @@
request = $.extend(request, haoutil.system.getRequest(window.top));
}
+ var jwtstr = request.JWT;
+ var strs_ = jwtstr.split('.');
+ var jwt_header_ = new buffer.Buffer(strs_[0].toString('base64'), 'base64').toString();
+ var jwt_payload_ = new buffer.Buffer(strs_[1].toString('base64'), 'base64').toString();
+ debugger;
+ try {
+ var hash = CryptoJS.HmacSHA256(strs_[0] + '.' + strs_[1], "sxyd");
+ var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
+ var reg = RegExp(strs_[2]);
+ if (!reg.exec(hashInBase64)) {
+ // verification failed, go back
+ window.top.location = mars3d.global_variables.un_authorization_url;
+ }
+ payload_ = JSON.parse(jwt_payload_);
+ if (!payload_ || !payload_.expires) {
+ // verification error ,go back
+ window.top.location = mars3d.global_variables.un_authorization_url;
+ }
+ var date1 = new Date(payload_.expires);
+ var date2 = new Date();
+ if (date1 < date2) {
+ // expire, go back
+ window.top.location = mars3d.global_variables.un_authorization_url;
+ }
+ }
+ catch (err) {
+ window.top.location = mars3d.global_variables.un_authorization_url;
+ }
+
mars3d.global_variables.userid = request?.userid || 2;
var configfile = "config/config.json"; //榛樿鍦板潃
--
Gitblit v1.9.1