@gandalan/weblibs 1.0.4 → 1.0.5
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 +23 -9
- package/package.json +1 -1
package/api/IDAS.js
CHANGED
|
@@ -10,24 +10,38 @@ let authJwtToken;
|
|
|
10
10
|
export let IDASFactory = {
|
|
11
11
|
async create() {
|
|
12
12
|
return new Promise((resolve, reject) => {
|
|
13
|
-
let
|
|
14
|
-
|
|
13
|
+
let promise = this.authorize()
|
|
14
|
+
.then(() => {
|
|
15
|
+
let idas = new IDAS();
|
|
16
|
+
return idas.authenticateWithJwt(authJwtCallbackPath)
|
|
17
|
+
});
|
|
18
|
+
resolve(promise);
|
|
15
19
|
});
|
|
16
20
|
},
|
|
17
21
|
|
|
18
|
-
authorize() {
|
|
22
|
+
async authorize() {
|
|
19
23
|
var urlParams = new URLSearchParams(location.search);
|
|
20
|
-
if (urlParams.has('t')) {
|
|
21
|
-
let idas = new IDAS();
|
|
22
|
-
idas.authorizeWithJwt(urlParams.get('t'));
|
|
23
|
-
}
|
|
24
24
|
if (urlParams.has("m")) {
|
|
25
25
|
localStorage.setItem("IDAS_MandantGuid", urlParams.get("m"));
|
|
26
26
|
}
|
|
27
27
|
if (urlParams.has("a")) {
|
|
28
28
|
localStorage.setItem("IDAS_ApiBaseUrl", urlParams.get("a"));
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
if (urlParams.has('j')) { // it is JWT
|
|
31
|
+
let idas = new IDAS();
|
|
32
|
+
idas.authorizeWithJwt(urlParams.get('j'));
|
|
33
|
+
window.location.search = "";
|
|
34
|
+
return Promise.reject("redirect is required");
|
|
35
|
+
}
|
|
36
|
+
if (urlParams.has('t')) { // it is authToken
|
|
37
|
+
localStorage.setItem('IDAS_AuthJwtRefreshToken', urlParams.get("t"));
|
|
38
|
+
var refreshClient = new RESTClient(apiBaseUrl, '');
|
|
39
|
+
await refreshClient.refreshToken()
|
|
40
|
+
.then(() => {
|
|
41
|
+
window.location.search = "";
|
|
42
|
+
});
|
|
43
|
+
return Promise.reject("redirect is required");
|
|
44
|
+
}
|
|
31
45
|
}
|
|
32
46
|
}
|
|
33
47
|
|
|
@@ -54,7 +68,7 @@ class IDAS {
|
|
|
54
68
|
if (!refreshClient.token) {
|
|
55
69
|
localStorage.setItem('IDAS_AuthJwtCallbackPath', authPath || '');
|
|
56
70
|
const authEndpoint = (new URL(window.location.href).origin) + authPath;
|
|
57
|
-
let authUrlCallback = `${authEndpoint}?r=%target%&
|
|
71
|
+
let authUrlCallback = `${authEndpoint}?r=%target%&j=%jwt%&m=%mandant%`;
|
|
58
72
|
authUrlCallback = authUrlCallback.replace('%target%', encodeURIComponent(window.location.href));
|
|
59
73
|
|
|
60
74
|
const url = new URL(apiBaseUrl);
|