@bee.js/node 0.0.46 → 0.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/DBA/beeDBA.js +3 -4
- package/lib/JWT/beeJWT.js +18 -10
- package/package.json +1 -1
package/lib/DBA/beeDBA.js
CHANGED
|
@@ -98,13 +98,12 @@ module.exports.actions = {
|
|
|
98
98
|
|
|
99
99
|
MODEL_CREATE_CONSTRAINT: function (model, configsDB) {
|
|
100
100
|
let q = beeORM.quote;
|
|
101
|
-
let SQL = "\n\n\n
|
|
101
|
+
let SQL = "\n\n\n";
|
|
102
102
|
|
|
103
|
-
SQL += `/*----- Constraints for table ${q(model.table)} -----*/\n
|
|
104
|
-
SQL += `ALTER TABLE ${q(model.table)}\n`;
|
|
103
|
+
SQL += `/*----- Constraints for table ${q(model.table)} -----*/\n`;
|
|
105
104
|
|
|
106
105
|
for (let field in model.relations)
|
|
107
|
-
SQL +=
|
|
106
|
+
SQL += `\n\n ALTER TABLE ${q(model.table)}\n ADD CONSTRAINT ${q(
|
|
108
107
|
`FK_${model.relations[field].split(".")[0]}_X_${
|
|
109
108
|
model.table
|
|
110
109
|
}_${field}`.slice(0, 64)
|
package/lib/JWT/beeJWT.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
const
|
|
1
|
+
const CryptoJS = require("crypto-js");
|
|
2
2
|
const log = require("../beeHive/log");
|
|
3
3
|
|
|
4
|
+
function base64url(source) {
|
|
5
|
+
encodedSource = CryptoJS.enc.Base64.stringify(source);
|
|
6
|
+
encodedSource = encodedSource.replace(/=+$/, "");
|
|
7
|
+
encodedSource = encodedSource.replace(/\+/g, "-");
|
|
8
|
+
encodedSource = encodedSource.replace(/\//g, "_");
|
|
9
|
+
|
|
10
|
+
return encodedSource;
|
|
11
|
+
}
|
|
12
|
+
|
|
4
13
|
module.exports = function token(_payload = null, header = {}) {
|
|
5
14
|
if (_payload) {
|
|
6
15
|
let { jwt, ...payload } = _payload;
|
|
@@ -20,16 +29,13 @@ module.exports = function token(_payload = null, header = {}) {
|
|
|
20
29
|
|
|
21
30
|
payload = { ...payload, iat: iat, exp: exp };
|
|
22
31
|
|
|
23
|
-
header = JSON.stringify(header);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
payload = JSON.stringify(payload);
|
|
27
|
-
payload = new Buffer.from(payload).toString("base64");
|
|
32
|
+
header = base64url(CryptoJS.enc.Utf8.parse(JSON.stringify(header)));
|
|
33
|
+
payload = base64url(CryptoJS.enc.Utf8.parse(JSON.stringify(payload)));
|
|
28
34
|
|
|
29
|
-
const signature =
|
|
30
|
-
|
|
31
|
-
"base64"
|
|
35
|
+
const signature = base64url(
|
|
36
|
+
CryptoJS.HmacSHA256(`${header}.${payload}`, secret)
|
|
32
37
|
);
|
|
38
|
+
const token = `${header}.${payload}.${signature}`;
|
|
33
39
|
|
|
34
40
|
this.data.jwt =
|
|
35
41
|
this.data.jwt && typeof this.data.jwt !== "object"
|
|
@@ -53,7 +59,9 @@ module.exports = function token(_payload = null, header = {}) {
|
|
|
53
59
|
const header = array[0];
|
|
54
60
|
const payload = array[1];
|
|
55
61
|
|
|
56
|
-
const signature =
|
|
62
|
+
const signature = base64url(
|
|
63
|
+
CryptoJS.HmacSHA256(`${header}.${payload}`, secret)
|
|
64
|
+
);
|
|
57
65
|
|
|
58
66
|
return token === `${header}.${payload}.${signature}`
|
|
59
67
|
? new Buffer.from(payload, "base64").toString("ascii")
|