@osimatic/helpers-js 1.0.96 → 1.0.97
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/jwt.js +18 -21
- package/package.json +1 -1
package/jwt.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
class JwtToken {
|
|
2
2
|
static parseJwt (token) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
let base64Url = token.split('.')[1];
|
|
4
|
+
let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
5
|
+
let jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
|
|
6
6
|
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
7
7
|
}).join(''));
|
|
8
8
|
|
|
@@ -15,7 +15,19 @@ class JwtToken {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
let payload = JwtToken.parseJwt(token);
|
|
18
|
-
return payload
|
|
18
|
+
return typeof payload['roles'] != 'undefined' && payload['roles'].indexOf(role) !== -1;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static getData(token, key) {
|
|
22
|
+
if (token == null) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
let payload = JwtToken.parseJwt(token);
|
|
27
|
+
if (typeof payload[key] != 'undefined') {
|
|
28
|
+
return payload[key];
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
19
31
|
}
|
|
20
32
|
}
|
|
21
33
|
|
|
@@ -66,16 +78,7 @@ class JwtSession {
|
|
|
66
78
|
}
|
|
67
79
|
|
|
68
80
|
static getData(key) {
|
|
69
|
-
|
|
70
|
-
if (token == null) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
let payload = JwtToken.parseJwt(token);
|
|
75
|
-
if (typeof payload[key] != 'undefined') {
|
|
76
|
-
return payload[key];
|
|
77
|
-
}
|
|
78
|
-
return null;
|
|
81
|
+
return JwtToken.getData(JwtSession.getToken(), key);
|
|
79
82
|
}
|
|
80
83
|
|
|
81
84
|
static isAnonymous() {
|
|
@@ -83,13 +86,7 @@ class JwtSession {
|
|
|
83
86
|
}
|
|
84
87
|
|
|
85
88
|
static isGranted(role) {
|
|
86
|
-
|
|
87
|
-
if (token == null) {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
let payload = JwtToken.parseJwt(token);
|
|
92
|
-
return payload.roles.indexOf(role) !== -1;
|
|
89
|
+
return JwtToken.hasRole(JwtSession.getToken(), role);
|
|
93
90
|
}
|
|
94
91
|
}
|
|
95
92
|
|