@gandalan/weblibs 1.0.19 → 1.0.21
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/api/IDAS.js +4 -4
- package/api/authUtils.js +12 -12
- package/package.json +1 -1
package/api/IDAS.js
CHANGED
|
@@ -40,14 +40,14 @@ class IDAS
|
|
|
40
40
|
const token = this._self.settings.jwtToken;
|
|
41
41
|
if (!token)
|
|
42
42
|
return [];
|
|
43
|
-
const decoded = jwt_decode(
|
|
43
|
+
const decoded = jwt_decode(token);
|
|
44
44
|
return decoded.rights;
|
|
45
45
|
},
|
|
46
46
|
getRoles() {
|
|
47
47
|
const token = this._self.settings.jwtToken;
|
|
48
48
|
if (!token)
|
|
49
49
|
return [];
|
|
50
|
-
const decoded = jwt_decode(
|
|
50
|
+
const decoded = jwt_decode(token);
|
|
51
51
|
return decoded.role;
|
|
52
52
|
},
|
|
53
53
|
hasRight(code)
|
|
@@ -61,8 +61,8 @@ class IDAS
|
|
|
61
61
|
getUsername() {
|
|
62
62
|
const token = this._self.settings.jwtToken;
|
|
63
63
|
if (!token)
|
|
64
|
-
return
|
|
65
|
-
const decoded = jwt_decode(
|
|
64
|
+
return undefined;
|
|
65
|
+
const decoded = jwt_decode(token);
|
|
66
66
|
return decoded.id;
|
|
67
67
|
}
|
|
68
68
|
};
|
package/api/authUtils.js
CHANGED
|
@@ -9,22 +9,20 @@ export async function setup(settings)
|
|
|
9
9
|
|
|
10
10
|
if (settings.jwtRefreshToken && jwtTokenInvalid(settings))
|
|
11
11
|
{
|
|
12
|
-
|
|
13
|
-
// Fetch Token from IDAS API
|
|
14
|
-
let api = new RESTClient(settings);
|
|
15
|
-
const response = await api.put("Login/Update", payload);
|
|
16
|
-
const iat = response.data;
|
|
17
|
-
console.log("Got IDAS token: ", iat);
|
|
18
|
-
|
|
19
|
-
// If valid, check roles and authenticate against JWT API
|
|
20
|
-
if (iat)
|
|
21
|
-
await jwtTokenRenew(settings);
|
|
22
|
-
|
|
12
|
+
await jwtTokenRenew(settings);
|
|
23
13
|
if (jwtTokenInvalid(settings))
|
|
24
|
-
console.log("
|
|
14
|
+
console.log("Refresh failed, invalid JWT token!");
|
|
25
15
|
|
|
26
16
|
} else {
|
|
27
17
|
console.log("Settings already have a valid JWT token, nothing to do");
|
|
18
|
+
let decoded = jwt_decode(settings.jwtToken);
|
|
19
|
+
let refreshToken = decoded["refreshToken"] || "";
|
|
20
|
+
if (refreshToken)
|
|
21
|
+
{
|
|
22
|
+
console.log("Got new refresh token:", refreshToken);
|
|
23
|
+
settings.jwtRefreshToken = refreshToken;
|
|
24
|
+
localStorage.setItem("IDAS_AuthJwtRefreshToken", refreshToken);
|
|
25
|
+
}
|
|
28
26
|
}
|
|
29
27
|
console.log("Setup finished", settings);
|
|
30
28
|
}
|
|
@@ -42,6 +40,7 @@ export function jwtTokenInvalid(settings)
|
|
|
42
40
|
|
|
43
41
|
export async function jwtTokenRenew(settings)
|
|
44
42
|
{
|
|
43
|
+
console.log("try to refresh");
|
|
45
44
|
const renewSettings = { ...settings, jwtToken : undefined };
|
|
46
45
|
let api = new RESTClient(renewSettings);
|
|
47
46
|
const payload = { "Token" : settings.jwtRefreshToken };
|
|
@@ -55,6 +54,7 @@ export async function jwtTokenRenew(settings)
|
|
|
55
54
|
{
|
|
56
55
|
console.log("Got new refresh token:", refreshToken);
|
|
57
56
|
settings.jwtRefreshToken = refreshToken;
|
|
57
|
+
localStorage.setItem("IDAS_AuthJwtRefreshToken", refreshToken);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
if (jwtTokenInvalid(settings))
|