@osimatic/helpers-js 1.0.98 → 1.0.99
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/CHANGELOG +5 -0
- package/http_client.js +1 -5
- package/jwt.js +57 -36
- package/network.js +1 -0
- package/package.json +1 -1
package/CHANGELOG
CHANGED
|
@@ -52,3 +52,8 @@ DataTable.displayErrorFromXhr -> DataTable.displayError
|
|
|
52
52
|
|
|
53
53
|
1.0.96
|
|
54
54
|
var intlTelInputUtilsPath = 'xxx'; -> TelephoneNumber.setIntlTelInputUtilsPath('xxx');
|
|
55
|
+
|
|
56
|
+
1.0.99
|
|
57
|
+
JwtSession.isSimulationConnexion() -> non remplacé
|
|
58
|
+
JwtSession.cancelSimulationConnexion() -> non remplacé
|
|
59
|
+
HTTPRequest -> HTTPClient
|
package/http_client.js
CHANGED
|
@@ -332,13 +332,9 @@ class HTTPClient {
|
|
|
332
332
|
|
|
333
333
|
HTTPClient.request('POST', HTTPClient.refreshTokenUrl, payload,
|
|
334
334
|
(data) => {
|
|
335
|
-
JwtSession.
|
|
336
|
-
JwtSession.setRefreshToken(data['refresh_token']);
|
|
337
|
-
|
|
335
|
+
JwtSession.updateToken(data['token'], data['refresh_token']);
|
|
338
336
|
HTTPClient.setAuthorizationToken(JwtSession.getToken());
|
|
339
|
-
|
|
340
337
|
onRefreshTokenComplete();
|
|
341
|
-
|
|
342
338
|
},
|
|
343
339
|
() => {
|
|
344
340
|
JwtSession.logout();
|
package/jwt.js
CHANGED
|
@@ -9,15 +9,6 @@ class JwtToken {
|
|
|
9
9
|
return JSON.parse(jsonPayload);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
static hasRole(token, role) {
|
|
13
|
-
if (token == null) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
let payload = JwtToken.parseJwt(token);
|
|
18
|
-
return typeof payload['roles'] != 'undefined' && payload['roles'].indexOf(role) !== -1;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
12
|
static getData(token, key) {
|
|
22
13
|
if (token == null) {
|
|
23
14
|
return null;
|
|
@@ -29,52 +20,70 @@ class JwtToken {
|
|
|
29
20
|
}
|
|
30
21
|
return null;
|
|
31
22
|
}
|
|
32
|
-
}
|
|
33
23
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
roles.forEach(role => {
|
|
39
|
-
if (JwtSession.isGranted(role)) {
|
|
40
|
-
hasRole = true;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
24
|
+
static hasRole(token, role) {
|
|
25
|
+
if (token == null) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
43
28
|
|
|
44
|
-
|
|
29
|
+
let payload = JwtToken.parseJwt(token);
|
|
30
|
+
return typeof payload['roles'] != 'undefined' && payload['roles'].indexOf(role) !== -1;
|
|
45
31
|
}
|
|
32
|
+
}
|
|
46
33
|
|
|
47
|
-
|
|
48
|
-
|
|
34
|
+
class JwtSession {
|
|
35
|
+
static setOnNewTokenCallback(callback) {
|
|
36
|
+
JwtSession.onNewTokenCallback = callback;
|
|
37
|
+
}
|
|
38
|
+
static setOnLogoutCallback(callback) {
|
|
39
|
+
JwtSession.onLogoutCallback = callback;
|
|
49
40
|
}
|
|
50
41
|
|
|
51
42
|
static getToken() {
|
|
52
43
|
return localStorage.getItem('access_token');
|
|
53
44
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
localStorage.setItem('refresh_token', token);
|
|
45
|
+
static setToken(token) {
|
|
46
|
+
localStorage.setItem('access_token', token);
|
|
57
47
|
}
|
|
58
48
|
|
|
59
49
|
static getRefreshToken() {
|
|
60
50
|
return localStorage.getItem('refresh_token');
|
|
61
51
|
}
|
|
52
|
+
static setRefreshToken(token) {
|
|
53
|
+
localStorage.setItem('refresh_token', token);
|
|
54
|
+
}
|
|
62
55
|
|
|
63
|
-
static
|
|
64
|
-
|
|
56
|
+
static login(accessToken, refreshToken) {
|
|
57
|
+
console.log('JwtSession.login()');
|
|
58
|
+
JwtSession.setToken(accessToken);
|
|
59
|
+
JwtSession.setRefreshToken(refreshToken);
|
|
65
60
|
}
|
|
66
61
|
|
|
67
|
-
static
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
static updateToken(accessToken, refreshToken) {
|
|
63
|
+
console.log('JwtSession.updateToken()');
|
|
64
|
+
JwtSession.setToken(accessToken);
|
|
65
|
+
|
|
66
|
+
if (typeof refreshToken != 'undefined' && null != refreshToken) {
|
|
67
|
+
JwtSession.setRefreshToken(refreshToken);
|
|
68
|
+
}
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
if (typeof JwtSession.onNewTokenCallback == 'function') {
|
|
71
|
+
JwtSession.onNewTokenCallback();
|
|
72
|
+
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
static logout() {
|
|
75
|
+
static logout(redirectUrl) {
|
|
76
|
+
console.log('JwtSession.logout()');
|
|
76
77
|
localStorage.removeItem('access_token');
|
|
77
78
|
localStorage.removeItem('refresh_token');
|
|
79
|
+
|
|
80
|
+
if (typeof JwtSession.onLogoutCallback == 'function') {
|
|
81
|
+
JwtSession.onLogoutCallback();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (typeof redirectUrl != 'undefined' && null != redirectUrl) {
|
|
85
|
+
window.location.href = redirectUrl;
|
|
86
|
+
}
|
|
78
87
|
}
|
|
79
88
|
|
|
80
89
|
static getData(key) {
|
|
@@ -88,21 +97,21 @@ class JwtSession {
|
|
|
88
97
|
static isGranted(role) {
|
|
89
98
|
return JwtToken.hasRole(JwtSession.getToken(), role);
|
|
90
99
|
}
|
|
91
|
-
}
|
|
92
100
|
|
|
93
|
-
class ApiTokenSession {
|
|
94
101
|
static denyAccessUnlessGranted(roles) {
|
|
95
102
|
let hasRole = false;
|
|
96
103
|
|
|
97
104
|
roles.forEach(role => {
|
|
98
|
-
if (
|
|
105
|
+
if (JwtSession.isGranted(role)) {
|
|
99
106
|
hasRole = true;
|
|
100
107
|
}
|
|
101
108
|
});
|
|
102
109
|
|
|
103
110
|
return hasRole;
|
|
104
111
|
}
|
|
112
|
+
}
|
|
105
113
|
|
|
114
|
+
class ApiTokenSession {
|
|
106
115
|
static getToken() {
|
|
107
116
|
return localStorage.getItem('api_token');
|
|
108
117
|
}
|
|
@@ -158,6 +167,18 @@ class ApiTokenSession {
|
|
|
158
167
|
|
|
159
168
|
return roles.indexOf(role) !== -1;
|
|
160
169
|
}
|
|
170
|
+
|
|
171
|
+
static denyAccessUnlessGranted(roles) {
|
|
172
|
+
let hasRole = false;
|
|
173
|
+
|
|
174
|
+
roles.forEach(role => {
|
|
175
|
+
if (ApiTokenSession.isGranted(role)) {
|
|
176
|
+
hasRole = true;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
return hasRole;
|
|
181
|
+
}
|
|
161
182
|
}
|
|
162
183
|
|
|
163
184
|
module.exports = { JwtToken, JwtSession, ApiTokenSession };
|
package/network.js
CHANGED