|
1 | 1 | const {createFrame} = require('./iframe') |
2 | | -const {getToken} = require ('./token') |
| 2 | +const {getToken, isTokenExpired} = require ('./token') |
3 | 3 |
|
4 | 4 | let iframe = null |
5 | 5 | let loading = null |
@@ -36,28 +36,34 @@ const proxyCall = function() { |
36 | 36 | } |
37 | 37 |
|
38 | 38 | function request() { |
39 | | - return new Promise((resolve, reject) => { |
40 | | - function receiveMessage(e) { |
41 | | - console.log("Received at auth-lib:", e) |
42 | | - const safeFormat = e.data.type === "SUCCESS" || e.data.type === "FAILURE" |
43 | | - if (safeFormat) { |
44 | | - window.removeEventListener('message', receiveMessage) |
45 | | - if (e.data.type === "SUCCESS") { |
46 | | - const token = getToken('v3jwt') |
47 | | - token ? resolve({ token: token }) : reject("v3jwt cookie not found") |
48 | | - } |
49 | | - if (e.data.type === "FAILURE") { |
50 | | - reject("unable to get refesh token") |
| 39 | + const token = getToken('v3jwt') |
| 40 | + if (token && !isTokenExpired(token, 65)) { |
| 41 | + return new Promise((resolve, reject) => { |
| 42 | + token ? resolve({ token: token }) : reject("v3jwt cookie not found") |
| 43 | + }) |
| 44 | + } else { |
| 45 | + return new Promise((resolve, reject) => { |
| 46 | + function receiveMessage(e) { |
| 47 | + console.log("Received at auth-lib:", e) |
| 48 | + const safeFormat = e.data.type === "SUCCESS" || e.data.type === "FAILURE" |
| 49 | + if (safeFormat) { |
| 50 | + window.removeEventListener('message', receiveMessage) |
| 51 | + if (e.data.type === "SUCCESS") { |
| 52 | + token ? resolve({ token: token }) : reject("v3jwt cookie not found") |
| 53 | + } |
| 54 | + if (e.data.type === "FAILURE") { |
| 55 | + reject("unable to get refesh token") |
| 56 | + } |
51 | 57 | } |
52 | 58 | } |
53 | | - } |
54 | 59 |
|
55 | | - window.addEventListener('message', receiveMessage) |
| 60 | + window.addEventListener('message', receiveMessage) |
56 | 61 |
|
57 | | - const payload = { type: "REFRESH_TOKEN" } |
| 62 | + const payload = { type: "REFRESH_TOKEN" } |
58 | 63 |
|
59 | | - iframe.contentWindow.postMessage(payload, url) |
60 | | - }) |
| 64 | + iframe.contentWindow.postMessage(payload, url) |
| 65 | + }) |
| 66 | + } |
61 | 67 | } |
62 | 68 |
|
63 | 69 | if (loading) { |
|
0 commit comments