@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.
Files changed (2) hide show
  1. package/jwt.js +18 -21
  2. package/package.json +1 -1
package/jwt.js CHANGED
@@ -1,8 +1,8 @@
1
1
  class JwtToken {
2
2
  static parseJwt (token) {
3
- var base64Url = token.split('.')[1];
4
- var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
5
- var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
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.roles.indexOf(role) !== -1;
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
- let token = JwtSession.getToken();
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
- let token = localStorage.getItem('access_token');
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osimatic/helpers-js",
3
- "version": "1.0.96",
3
+ "version": "1.0.97",
4
4
  "main": "main.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"