@axa-fr/react-oidc 6.16.9 → 6.16.12
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/dist/service_worker/OidcServiceWorker.js +2 -0
- package/dist/service_worker/OidcServiceWorker.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vanilla/initWorker.d.ts.map +1 -1
- package/dist/vanilla/initWorker.js +4 -2
- package/dist/vanilla/initWorker.js.map +1 -1
- package/package.json +1 -1
- package/service_worker/OidcServiceWorker.ts +3 -1
- package/service_worker/dist/OidcServiceWorker.js +2 -0
- package/service_worker/dist/OidcServiceWorker.js.map +1 -0
- package/src/oidc/vanilla/initWorker.ts +5 -2
- package/dist/service_worker/OidcServiceWorker.mjs +0 -369
- package/dist/service_worker/OidcServiceWorker.mjs.map +0 -1
- package/service_worker/dist/OidcServiceWorker.mjs +0 -369
- package/service_worker/dist/OidcServiceWorker.mjs.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const N="OidcTrustedDomains.js",y="*",_={REFRESH_TOKEN:"REFRESH_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER",ACCESS_TOKEN:"ACCESS_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER",NONCE_TOKEN:"NONCE_SECURED_BY_OIDC_SERVICE_WORKER",CODE_VERIFIER:"CODE_VERIFIER_SECURED_BY_OIDC_SERVICE_WORKER"},v={access_token_or_id_token_invalid:"access_token_or_id_token_invalid",access_token_invalid:"access_token_invalid",id_token_invalid:"id_token_invalid"},A="/.well-known/openid-configuration";function x(n,t){if(!t)return;if(!n.find(e=>{var s;let o;return typeof e=="string"?o=new RegExp(`^${e}`):o=e,(s=o.test)==null?void 0:s.call(o,t)}))throw new Error("Domain "+t+" is not trusted, please add domain in "+N)}const D=(n,t,i)=>{var e;if(t.endsWith(A))return null;for(const[o,s]of Object.entries(n)){const a=s.oidcServerConfiguration;if(!a||a.tokenEndpoint&&t===a.tokenEndpoint||a.revocationEndpoint&&t===a.revocationEndpoint)continue;const d=a.userInfoEndpoint?[a.userInfoEndpoint,...i[o]]:[...i[o]];let c=!1;if(d.find(u=>u===y))c=!0;else for(let u=0;u<d.length;u++){let r=d[u];if(typeof r=="string"&&(r=new RegExp(`^${r}`)),(e=r.test)!=null&&e.call(r,t)){c=!0;break}}if(c)return s.tokens?s:null}return null};function K(n,t){return n.split(t).length-1}function M(n){return JSON.parse(P(n.split(".")[1].replace("-","+").replace("_","/")))}function P(n){return decodeURIComponent(Array.prototype.map.call(atob(n),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}function U(n,t){const i=new Date().getTime()/1e3;return Math.round(t-n-i)}function W(n){return n?U(0,n.expiresAt)>0:!1}const w=n=>{try{return n&&K(n,".")===2?M(n):null}catch(t){console.warn(t)}return null},F=(n,t,i)=>{if(n.idTokenPayload){const e=n.idTokenPayload;if(i.issuer!==e.iss)return{isValid:!1,reason:"Issuer does not match"};const o=new Date().getTime()/1e3;if(e.exp&&e.exp<o)return{isValid:!1,reason:"Token expired"};const s=60*60*24*7;if(e.iat&&e.iat+s<o)return{isValid:!1,reason:"Token is used from too long time"};if(e.nonce&&e.nonce!==t)return{isValid:!1,reason:"Nonce does not match"}}return{isValid:!0,reason:""}};function O(n){const t=n.configurationName;return i=>i.status!==200?i:i.json().then(e=>{if(!e.issued_at){const f=new Date().getTime()/1e3;e.issued_at=f}const o=w(e.access_token),s={...e,access_token:_.ACCESS_TOKEN+"_"+t,accessTokenPayload:o};e.accessTokenPayload=o;let a=null;if(e.id_token){if(a=w(e.id_token),e.idTokenPayload={...a},a.nonce&&n.nonce!=null){const f=_.NONCE_TOKEN+"_"+n.configurationName;a.nonce=f}s.idTokenPayload=a}e.refresh_token&&(s.refresh_token=_.REFRESH_TOKEN+"_"+t);const d=a&&a.exp?a.exp:Number.MAX_VALUE,c=o&&o.exp?o.exp:e.issued_at+e.expires_in;let u;const r=n.oidcConfiguration.token_renew_mode;r===v.access_token_invalid?u=c:r===v.id_token_invalid?u=d:u=d<c?d:c,s.expiresAt=u,e.expiresAt=u;const T=n.nonce?n.nonce.nonce:null,{isValid:l,reason:k}=F(e,T,n.oidcServerConfiguration);if(!l)throw Error(`Tokens are not OpenID valid, reason: ${k}`);if(n.tokens!=null&&"refresh_token"in n.tokens&&!("refresh_token"in e)){const f=n.tokens.refresh_token;n.tokens={...e,refresh_token:f}}else n.tokens=e;n.status="LOGGED_IN";const p=JSON.stringify(s);return new Response(p,i)})}function C(n){const t={};for(const i of n.keys())n.has(i)&&(t[i]=n.get(i));return t}const V=n=>new Promise(t=>setTimeout(t,n)),g=self;g.importScripts(N);const I=Math.round(new Date().getTime()/1e3).toString(),b="OidcKeepAliveServiceWorker.json",q=n=>{console.log("[OidcServiceWorker] service worker installed "+I),n.waitUntil(g.skipWaiting())},L=n=>{console.log("[OidcServiceWorker] service worker activated "+I),n.waitUntil(g.clients.claim())};let S=null;const h={default:{configurationName:"default",tokens:null,status:null,state:null,codeVerifier:null,nonce:null,oidcServerConfiguration:null}},H=(n,t)=>{const i=[];for(const[,e]of Object.entries(n))(e.oidcServerConfiguration!=null&&t.startsWith(e.oidcServerConfiguration.tokenEndpoint)||e.oidcServerConfiguration!=null&&e.oidcServerConfiguration.revocationEndpoint&&t.startsWith(e.oidcServerConfiguration.revocationEndpoint))&&i.push(e);return i},j=async n=>{const t=n.request,i=t.headers.has("oidc-vanilla"),e={status:200,statusText:"oidc-service-worker"},o=new Response("{}",e);if(!i){const a=(await t.json()).minSleepSeconds??240;for(let d=0;d<a;d++)await V(1e3+Math.floor(Math.random()*1e3)),await(await caches.open("oidc_dummy_cache")).put(n.request,o.clone())}return o},J=async n=>{const t=n.request,i=t.url;if(t.url.includes(b)){n.respondWith(j(n));return}const e=D(h,t.url,trustedDomains);if(e&&e.tokens&&e.tokens.access_token){for(;e.tokens&&!W(e.tokens);)await V(200);const d=new Request(t,{headers:{...C(t.headers),authorization:"Bearer "+e.tokens.access_token},mode:e.oidcConfiguration.service_worker_convert_all_requests_to_cors?"cors":t.mode});n.waitUntil(n.respondWith(fetch(d)));return}if(n.request.method!=="POST")return;let o=null;const s=H(h,t.url),a=s.length;if(a>0){const d=new Promise((c,u)=>{const r=t.clone();r.text().then(l=>{if(l.includes(_.REFRESH_TOKEN)||l.includes(_.ACCESS_TOKEN)){let k=l;for(let f=0;f<a;f++){const E=s[f];if(E&&E.tokens!=null){const m=_.REFRESH_TOKEN+"_"+E.configurationName;if(l.includes(m)){k=k.replace(m,encodeURIComponent(E.tokens.refresh_token)),o=E;break}const R=_.ACCESS_TOKEN+"_"+E.configurationName;if(l.includes(R)){k=k.replace(R,encodeURIComponent(E.tokens.access_token)),o=E;break}}}const p=fetch(t,{body:k,method:r.method,headers:{...C(t.headers)},mode:r.mode,cache:r.cache,redirect:r.redirect,referrer:r.referrer,credentials:r.credentials,integrity:r.integrity});return o&&o.oidcServerConfiguration!=null&&o.oidcServerConfiguration.revocationEndpoint&&i.startsWith(o.oidcServerConfiguration.revocationEndpoint)?p.then(async f=>{const E=await f.text();return new Response(E,f)}):p.then(O(o))}else if(l.includes("code_verifier=")&&S){o=h[S],S=null;let k=l;if(o&&o.codeVerifier!=null){const p=_.CODE_VERIFIER+"_"+o.configurationName;l.includes(p)&&(k=k.replace(p,o.codeVerifier))}return fetch(t,{body:k,method:r.method,headers:{...C(t.headers)},mode:r.mode,cache:r.cache,redirect:r.redirect,referrer:r.referrer,credentials:r.credentials,integrity:r.integrity}).then(O(o))}}).then(l=>{l!==void 0?c(l):(console.log("success undefined"),u(new Error("Response is undefined inside a success")))}).catch(l=>{l!==void 0?u(l):(console.log("error undefined"),u(new Error("Response is undefined inside a error")))})});n.waitUntil(n.respondWith(d))}},Y=n=>{const t=n.ports[0],i=n.data,e=i.configurationName;let o=h[e];switch(o||(h[e]={tokens:null,state:null,codeVerifier:null,oidcServerConfiguration:null,oidcConfiguration:void 0,nonce:null,status:null,configurationName:e},o=h[e],trustedDomains[e]||(trustedDomains[e]=[])),i.type){case"clear":o.tokens=null,o.state=null,o.codeVerifier=null,o.status=i.data.status,t.postMessage({configurationName:e});return;case"init":{const s=i.data.oidcServerConfiguration,a=trustedDomains[e];a.find(c=>c===y)||[s.tokenEndpoint,s.revocationEndpoint,s.userInfoEndpoint,s.issuer].forEach(c=>{x(a,c)}),o.oidcServerConfiguration=s,o.oidcConfiguration=i.data.oidcConfiguration;const d=i.data.where;if(d==="loginCallbackAsync"||d==="tryKeepExistingSessionAsync"?S=e:S=null,!o.tokens)t.postMessage({tokens:null,status:o.status,configurationName:e});else{const c={...o.tokens,access_token:_.ACCESS_TOKEN+"_"+e};c.refresh_token&&(c.refresh_token=_.REFRESH_TOKEN+"_"+e),c.idTokenPayload&&c.idTokenPayload.nonce&&o.nonce!=null&&(c.idTokenPayload.nonce=_.NONCE_TOKEN+"_"+e),t.postMessage({tokens:c,status:o.status,configurationName:e})}return}case"setState":o.state=i.data.state,t.postMessage({configurationName:e});return;case"getState":{const s=o.state;t.postMessage({configurationName:e,state:s});return}case"setCodeVerifier":o.codeVerifier=i.data.codeVerifier,t.postMessage({configurationName:e});return;case"getCodeVerifier":{t.postMessage({configurationName:e,codeVerifier:_.CODE_VERIFIER+"_"+e});return}case"setSessionState":o.sessionState=i.data.sessionState,t.postMessage({configurationName:e});return;case"getSessionState":{const s=o.sessionState;t.postMessage({configurationName:e,sessionState:s});return}case"setNonce":o.nonce=i.data.nonce,t.postMessage({configurationName:e});return;default:o.items={...i.data},t.postMessage({configurationName:e})}};g.addEventListener("install",q);g.addEventListener("activate",L);g.addEventListener("fetch",J);g.addEventListener("message",Y);
|
|
2
|
+
//# sourceMappingURL=OidcServiceWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OidcServiceWorker.js","sources":["../constants.ts","../utils/domains.ts","../utils/strings.ts","../utils/tokens.ts","../utils/serializeHeaders.ts","../utils/sleep.ts","../OidcServiceWorker.ts"],"sourcesContent":["const scriptFilename = 'OidcTrustedDomains.js'; /* global trustedDomains */\nconst acceptAnyDomainToken = '*';\n\ntype TokenType = {\n readonly REFRESH_TOKEN: string;\n readonly ACCESS_TOKEN: string;\n readonly NONCE_TOKEN: string;\n readonly CODE_VERIFIER: string;\n};\n\nconst TOKEN: TokenType = {\n REFRESH_TOKEN: 'REFRESH_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER',\n ACCESS_TOKEN: 'ACCESS_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER',\n NONCE_TOKEN: 'NONCE_SECURED_BY_OIDC_SERVICE_WORKER',\n CODE_VERIFIER: 'CODE_VERIFIER_SECURED_BY_OIDC_SERVICE_WORKER',\n};\n\ntype TokenRenewModeType = {\n readonly access_token_or_id_token_invalid: string;\n readonly access_token_invalid: string;\n readonly id_token_invalid: string;\n};\n\nconst TokenRenewMode: TokenRenewModeType = {\n access_token_or_id_token_invalid: 'access_token_or_id_token_invalid',\n access_token_invalid: 'access_token_invalid',\n id_token_invalid: 'id_token_invalid',\n};\n\nconst openidWellknownUrlEndWith = '/.well-known/openid-configuration';\n\nexport { scriptFilename, acceptAnyDomainToken, TOKEN, TokenRenewMode, openidWellknownUrlEndWith };\n","import { TrustedDomains } from './../types';\nimport {\n acceptAnyDomainToken,\n openidWellknownUrlEndWith,\n scriptFilename,\n} from '../constants';\nimport { Database, Domain, OidcConfig } from '../types';\n\nfunction checkDomain(domains: Domain[], endpoint: string) {\n if (!endpoint) {\n return;\n }\n\n const domain = domains.find((domain) => {\n let testable: RegExp;\n\n if (typeof domain === 'string') {\n testable = new RegExp(`^${domain}`);\n } else {\n testable = domain;\n }\n\n return testable.test?.(endpoint);\n });\n if (!domain) {\n throw new Error(\n 'Domain ' +\n endpoint +\n ' is not trusted, please add domain in ' +\n scriptFilename\n );\n }\n}\n\nconst getCurrentDatabaseDomain = (\n database: Database,\n url: string,\n trustedDomains: TrustedDomains\n) => {\n if (url.endsWith(openidWellknownUrlEndWith)) {\n return null;\n }\n for (const [key, currentDatabase] of Object.entries<OidcConfig>(database)) {\n const oidcServerConfiguration = currentDatabase.oidcServerConfiguration;\n\n if (!oidcServerConfiguration) {\n continue;\n }\n\n if (\n oidcServerConfiguration.tokenEndpoint &&\n url === oidcServerConfiguration.tokenEndpoint\n ) {\n continue;\n }\n if (\n oidcServerConfiguration.revocationEndpoint &&\n url === oidcServerConfiguration.revocationEndpoint\n ) {\n continue;\n }\n\n const domainsToSendTokens = oidcServerConfiguration.userInfoEndpoint\n ? [oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]]\n : [...trustedDomains[key]];\n\n let hasToSendToken = false;\n if (domainsToSendTokens.find((f) => f === acceptAnyDomainToken)) {\n hasToSendToken = true;\n } else {\n for (let i = 0; i < domainsToSendTokens.length; i++) {\n let domain = domainsToSendTokens[i];\n\n if (typeof domain === 'string') {\n domain = new RegExp(`^${domain}`);\n }\n\n if (domain.test?.(url)) {\n hasToSendToken = true;\n break;\n }\n }\n }\n\n if (hasToSendToken) {\n if (!currentDatabase.tokens) {\n return null;\n }\n return currentDatabase;\n }\n }\n return null;\n};\n\nexport { checkDomain, getCurrentDatabaseDomain };\n","/**\n * Count occurances of letter in string\n * @param str\n * @param find\n * @returns\n */\nexport function countLetter(str: string, find: string) {\n return str.split(find).length - 1;\n}\n","import { TOKEN, TokenRenewMode } from '../constants';\nimport { OidcConfig, OidcConfiguration, OidcServerConfiguration, Tokens } from '../types';\nimport { countLetter } from './strings';\n\nfunction parseJwt(token: string) {\n return JSON.parse(\n b64DecodeUnicode(token.split('.')[1].replace('-', '+').replace('_', '/'))\n );\n}\nfunction b64DecodeUnicode(str: string) {\n return decodeURIComponent(\n Array.prototype.map\n .call(\n atob(str),\n (c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\n )\n .join('')\n );\n}\n\nfunction computeTimeLeft(\n refreshTimeBeforeTokensExpirationInSecond: number,\n expiresAt: number\n) {\n const currentTimeUnixSecond = new Date().getTime() / 1000;\n return Math.round(\n expiresAt -\n refreshTimeBeforeTokensExpirationInSecond -\n currentTimeUnixSecond\n );\n}\n\nfunction isTokensValid(tokens: Tokens | null) {\n if (!tokens) {\n return false;\n }\n return computeTimeLeft(0, tokens.expiresAt) > 0;\n}\n\nconst extractTokenPayload = (token?: string) => {\n try {\n if (!token) {\n return null;\n }\n if (countLetter(token, '.') === 2) {\n return parseJwt(token);\n } else {\n return null;\n }\n } catch (e) {\n console.warn(e);\n }\n return null;\n};\n\n// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).\n// https://github.com/openid/AppAuth-JS/issues/65\nconst isTokensOidcValid = (\n tokens: Tokens,\n nonce: string | null,\n oidcServerConfiguration: OidcServerConfiguration\n): { isValid: boolean; reason: string } => {\n if (tokens.idTokenPayload) {\n const idTokenPayload = tokens.idTokenPayload;\n // 2: The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery) MUST exactly match the value of the iss (issuer) Claim.\n if (oidcServerConfiguration.issuer !== idTokenPayload.iss) {\n return { isValid: false, reason: 'Issuer does not match' };\n }\n // 3: The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. The aud (audience) Claim MAY contain an array with more than one element. The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client.\n\n // 6: If the ID Token is received via direct communication between the Client and the Token Endpoint (which it is in this flow), the TLS server validation MAY be used to validate the issuer in place of checking the token signature. The Client MUST validate the signature of all other ID Tokens according to JWS [JWS] using the algorithm specified in the JWT alg Header Parameter. The Client MUST use the keys provided by the Issuer.\n\n // 9: The current time MUST be before the time represented by the exp Claim.\n const currentTimeUnixSecond = new Date().getTime() / 1000;\n if (idTokenPayload.exp && idTokenPayload.exp < currentTimeUnixSecond) {\n return { isValid: false, reason: 'Token expired' };\n }\n // 10: The iat Claim can be used to reject tokens that were issued too far away from the current time, limiting the amount of time that nonces need to be stored to prevent attacks. The acceptable range is Client specific.\n const timeInSevenDays = 60 * 60 * 24 * 7;\n if (\n idTokenPayload.iat &&\n idTokenPayload.iat + timeInSevenDays < currentTimeUnixSecond\n ) {\n return { isValid: false, reason: 'Token is used from too long time' };\n }\n // 11: If a nonce value was sent in the Authentication Request, a nonce Claim MUST be present and its value checked to verify that it is the same value as the one that was sent in the Authentication Request. The Client SHOULD check the nonce value for replay attacks. The precise method for detecting replay attacks is Client specific.\n if (idTokenPayload.nonce && idTokenPayload.nonce !== nonce) {\n return { isValid: false, reason: 'Nonce does not match' };\n }\n }\n return { isValid: true, reason: '' };\n};\n\nfunction hideTokens(currentDatabaseElement: OidcConfig) {\n const configurationName = currentDatabaseElement.configurationName;\n return (response: Response) => {\n if (response.status !== 200) {\n return response;\n }\n return response.json().then<Response>((tokens: Tokens) => {\n if (!tokens.issued_at) {\n const currentTimeUnixSecond = new Date().getTime() / 1000;\n tokens.issued_at = currentTimeUnixSecond;\n }\n\n const accessTokenPayload = extractTokenPayload(tokens.access_token);\n const secureTokens = {\n ...tokens,\n access_token: TOKEN.ACCESS_TOKEN + '_' + configurationName,\n accessTokenPayload,\n };\n tokens.accessTokenPayload = accessTokenPayload;\n\n let _idTokenPayload = null;\n if (tokens.id_token) {\n _idTokenPayload = extractTokenPayload(tokens.id_token);\n tokens.idTokenPayload = { ..._idTokenPayload };\n if (_idTokenPayload.nonce && currentDatabaseElement.nonce != null) {\n const keyNonce =\n TOKEN.NONCE_TOKEN + '_' + currentDatabaseElement.configurationName;\n _idTokenPayload.nonce = keyNonce;\n }\n secureTokens.idTokenPayload = _idTokenPayload;\n }\n if (tokens.refresh_token) {\n secureTokens.refresh_token =\n TOKEN.REFRESH_TOKEN + '_' + configurationName;\n }\n\n const idTokenExpiresAt =\n _idTokenPayload && _idTokenPayload.exp\n ? _idTokenPayload.exp\n : Number.MAX_VALUE;\n const accessTokenExpiresAt =\n accessTokenPayload && accessTokenPayload.exp\n ? accessTokenPayload.exp\n : tokens.issued_at + tokens.expires_in;\n\n let expiresAt: number;\n const tokenRenewMode = (\n currentDatabaseElement.oidcConfiguration as OidcConfiguration\n ).token_renew_mode;\n if (tokenRenewMode === TokenRenewMode.access_token_invalid) {\n expiresAt = accessTokenExpiresAt;\n } else if (tokenRenewMode === TokenRenewMode.id_token_invalid) {\n expiresAt = idTokenExpiresAt;\n } else {\n expiresAt =\n idTokenExpiresAt < accessTokenExpiresAt\n ? idTokenExpiresAt\n : accessTokenExpiresAt;\n }\n secureTokens.expiresAt = expiresAt;\n\n tokens.expiresAt = expiresAt;\n const nonce = currentDatabaseElement.nonce\n ? currentDatabaseElement.nonce.nonce\n : null;\n const { isValid, reason } = isTokensOidcValid(\n tokens,\n nonce,\n currentDatabaseElement.oidcServerConfiguration as OidcServerConfiguration\n ); //TODO: Type assertion, could be null.\n if (!isValid) {\n throw Error(`Tokens are not OpenID valid, reason: ${reason}`);\n }\n\n // When refresh_token is not rotated we reuse ald refresh_token\n if (\n currentDatabaseElement.tokens != null &&\n 'refresh_token' in currentDatabaseElement.tokens &&\n !('refresh_token' in tokens)\n ) {\n const refreshToken = currentDatabaseElement.tokens.refresh_token;\n\n currentDatabaseElement.tokens = {\n ...tokens,\n refresh_token: refreshToken,\n };\n } else {\n currentDatabaseElement.tokens = tokens;\n }\n\n currentDatabaseElement.status = 'LOGGED_IN';\n const body = JSON.stringify(secureTokens);\n return new Response(body, response);\n });\n };\n}\n\nexport {\n b64DecodeUnicode,\n computeTimeLeft,\n isTokensValid,\n extractTokenPayload,\n isTokensOidcValid,\n hideTokens\n};\n","import { FetchHeaders } from '../types';\n\nfunction serializeHeaders(headers: Headers) {\n const headersObj: Record<string, string> = {};\n for (const key of (headers as FetchHeaders).keys()) {\n if (headers.has(key)) {\n headersObj[key] = headers.get(key) as string;\n }\n }\n return headersObj;\n}\nexport {serializeHeaders};","const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\nexport { sleep };\n","import { acceptAnyDomainToken, TOKEN, scriptFilename } from './constants';\nimport {\n TrustedDomains,\n Database,\n OidcConfig,\n OidcConfiguration,\n MessageEventData,\n} from './types';\nimport {\n checkDomain,\n getCurrentDatabaseDomain,\n hideTokens,\n isTokensValid,\n serializeHeaders,\n sleep,\n} from './utils';\n\nconst _self = self as ServiceWorkerGlobalScope & typeof globalThis;\n\ndeclare let trustedDomains: TrustedDomains;\n\n_self.importScripts(scriptFilename);\n\nconst id = Math.round(new Date().getTime() / 1000).toString();\n\nconst keepAliveJsonFilename = 'OidcKeepAliveServiceWorker.json';\nconst handleInstall = (event: ExtendableEvent) => {\n console.log('[OidcServiceWorker] service worker installed ' + id);\n event.waitUntil(_self.skipWaiting());\n};\n\nconst handleActivate = (event: ExtendableEvent) => {\n console.log('[OidcServiceWorker] service worker activated ' + id);\n event.waitUntil(_self.clients.claim());\n};\n\nlet currentLoginCallbackConfigurationName: string | null = null;\nconst database: Database = {\n default: {\n configurationName: 'default',\n tokens: null,\n status: null,\n state: null,\n codeVerifier: null,\n nonce: null,\n oidcServerConfiguration: null,\n },\n};\n\nconst getCurrentDatabasesTokenEndpoint = (database: Database, url: string) => {\n const databases: OidcConfig[] = [];\n for (const [, value] of Object.entries<OidcConfig>(database)) {\n if (\n value.oidcServerConfiguration != null &&\n url.startsWith(value.oidcServerConfiguration.tokenEndpoint)\n ) {\n databases.push(value);\n } else if (\n value.oidcServerConfiguration != null &&\n value.oidcServerConfiguration.revocationEndpoint &&\n url.startsWith(value.oidcServerConfiguration.revocationEndpoint)\n ) {\n databases.push(value);\n }\n }\n return databases;\n};\n\nconst keepAliveAsync = async (event: FetchEvent) => {\n const originalRequest = event.request;\n const isFromVanilla = originalRequest.headers.has('oidc-vanilla');\n const init = { status: 200, statusText: 'oidc-service-worker' };\n const response = new Response('{}', init);\n if (!isFromVanilla) {\n const originalRequestBody = await originalRequest.json();\n const minSleepSeconds = originalRequestBody.minSleepSeconds ?? 240;\n for (let i = 0; i < minSleepSeconds; i++) {\n await sleep(1000 + Math.floor(Math.random() * 1000));\n const cache = await caches.open('oidc_dummy_cache');\n await cache.put(event.request, response.clone());\n }\n }\n\n return response;\n};\n\nconst handleFetch = async (event: FetchEvent) => {\n const originalRequest = event.request;\n const url = originalRequest.url;\n if (originalRequest.url.includes(keepAliveJsonFilename)) {\n event.respondWith(keepAliveAsync(event));\n return;\n }\n\n const currentDatabaseForRequestAccessToken = getCurrentDatabaseDomain(\n database,\n originalRequest.url,\n trustedDomains\n );\n if (\n currentDatabaseForRequestAccessToken &&\n currentDatabaseForRequestAccessToken.tokens &&\n currentDatabaseForRequestAccessToken.tokens.access_token\n ) {\n while (\n currentDatabaseForRequestAccessToken.tokens &&\n !isTokensValid(currentDatabaseForRequestAccessToken.tokens)\n ) {\n await sleep(200);\n }\n const newRequest = new Request(originalRequest, {\n headers: {\n ...serializeHeaders(originalRequest.headers),\n authorization:\n 'Bearer ' + currentDatabaseForRequestAccessToken.tokens.access_token,\n },\n mode: (\n currentDatabaseForRequestAccessToken.oidcConfiguration as OidcConfiguration\n ).service_worker_convert_all_requests_to_cors\n ? 'cors'\n : originalRequest.mode,\n });\n\n //@ts-ignore -- TODO: review, waitUntil takes a promise, this returns a void\n event.waitUntil(event.respondWith(fetch(newRequest)));\n\n return;\n }\n\n if (event.request.method !== 'POST') {\n return;\n }\n\n let currentDatabase: OidcConfig | null = null;\n const currentDatabases = getCurrentDatabasesTokenEndpoint(\n database,\n originalRequest.url\n );\n const numberDatabase = currentDatabases.length;\n if (numberDatabase > 0) {\n const maPromesse = new Promise<Response>((resolve, reject) => {\n const clonedRequest = originalRequest.clone();\n const response = clonedRequest.text().then((actualBody) => {\n if (\n actualBody.includes(TOKEN.REFRESH_TOKEN) ||\n actualBody.includes(TOKEN.ACCESS_TOKEN)\n ) {\n let newBody = actualBody;\n for (let i = 0; i < numberDatabase; i++) {\n const currentDb = currentDatabases[i];\n\n if (currentDb && currentDb.tokens != null) {\n const keyRefreshToken =\n TOKEN.REFRESH_TOKEN + '_' + currentDb.configurationName;\n if (actualBody.includes(keyRefreshToken)) {\n newBody = newBody.replace(\n keyRefreshToken,\n encodeURIComponent(currentDb.tokens.refresh_token as string)\n );\n currentDatabase = currentDb;\n break;\n }\n const keyAccessToken =\n TOKEN.ACCESS_TOKEN + '_' + currentDb.configurationName;\n if (actualBody.includes(keyAccessToken)) {\n newBody = newBody.replace(\n keyAccessToken,\n encodeURIComponent(currentDb.tokens.access_token)\n );\n currentDatabase = currentDb;\n break;\n }\n }\n }\n const fetchPromise = fetch(originalRequest, {\n body: newBody,\n method: clonedRequest.method,\n headers: {\n ...serializeHeaders(originalRequest.headers),\n },\n mode: clonedRequest.mode,\n cache: clonedRequest.cache,\n redirect: clonedRequest.redirect,\n referrer: clonedRequest.referrer,\n credentials: clonedRequest.credentials,\n integrity: clonedRequest.integrity,\n });\n\n if (\n currentDatabase &&\n currentDatabase.oidcServerConfiguration != null &&\n currentDatabase.oidcServerConfiguration.revocationEndpoint &&\n url.startsWith(\n currentDatabase.oidcServerConfiguration.revocationEndpoint\n )\n ) {\n return fetchPromise.then(async (response) => {\n const text = await response.text();\n return new Response(text, response);\n });\n }\n return fetchPromise.then(hideTokens(currentDatabase as OidcConfig)); //todo type assertion to OidcConfig but could be null, NEEDS REVIEW\n } else if (\n actualBody.includes('code_verifier=') &&\n currentLoginCallbackConfigurationName\n ) {\n currentDatabase = database[currentLoginCallbackConfigurationName];\n currentLoginCallbackConfigurationName = null;\n let newBody = actualBody;\n if (currentDatabase && currentDatabase.codeVerifier != null) {\n const keyCodeVerifier =\n TOKEN.CODE_VERIFIER + '_' + currentDatabase.configurationName;\n if (actualBody.includes(keyCodeVerifier)) {\n newBody = newBody.replace(\n keyCodeVerifier,\n currentDatabase.codeVerifier\n );\n }\n }\n\n return fetch(originalRequest, {\n body: newBody,\n method: clonedRequest.method,\n headers: {\n ...serializeHeaders(originalRequest.headers),\n },\n mode: clonedRequest.mode,\n cache: clonedRequest.cache,\n redirect: clonedRequest.redirect,\n referrer: clonedRequest.referrer,\n credentials: clonedRequest.credentials,\n integrity: clonedRequest.integrity,\n }).then(hideTokens(currentDatabase));\n }\n return undefined;\n });\n response\n .then((r) => {\n if (r !== undefined) {\n resolve(r);\n } else {\n console.log('success undefined');\n reject(new Error('Response is undefined inside a success'));\n }\n })\n .catch((err) => {\n if (err !== undefined) {\n reject(err);\n } else {\n console.log('error undefined');\n reject(new Error('Response is undefined inside a error'));\n }\n });\n });\n\n //@ts-ignore -- TODO: review, waitUntil takes a promise, this returns a void\n event.waitUntil(event.respondWith(maPromesse));\n }\n};\n\nconst handleMessage = (event: ExtendableMessageEvent) => {\n const port = event.ports[0];\n const data = event.data as MessageEventData;\n const configurationName = data.configurationName;\n let currentDatabase = database[configurationName];\n\n if (!currentDatabase) {\n database[configurationName] = {\n tokens: null,\n state: null,\n codeVerifier: null,\n oidcServerConfiguration: null,\n oidcConfiguration: undefined,\n nonce: null,\n status: null,\n configurationName,\n };\n currentDatabase = database[configurationName];\n if (!trustedDomains[configurationName]) {\n trustedDomains[configurationName] = [];\n }\n }\n\n switch (data.type) {\n case 'clear':\n currentDatabase.tokens = null;\n currentDatabase.state = null;\n currentDatabase.codeVerifier = null;\n currentDatabase.status = data.data.status;\n port.postMessage({ configurationName });\n return;\n case 'init': {\n const oidcServerConfiguration = data.data.oidcServerConfiguration;\n const domains = trustedDomains[configurationName];\n if (!domains.find((f) => f === acceptAnyDomainToken)) {\n [\n oidcServerConfiguration.tokenEndpoint,\n oidcServerConfiguration.revocationEndpoint,\n oidcServerConfiguration.userInfoEndpoint,\n oidcServerConfiguration.issuer,\n ].forEach((url) => {\n checkDomain(domains, url);\n });\n }\n currentDatabase.oidcServerConfiguration = oidcServerConfiguration;\n currentDatabase.oidcConfiguration = data.data.oidcConfiguration;\n const where = data.data.where;\n if (\n where === 'loginCallbackAsync' ||\n where === 'tryKeepExistingSessionAsync'\n ) {\n currentLoginCallbackConfigurationName = configurationName;\n } else {\n currentLoginCallbackConfigurationName = null;\n }\n\n if (!currentDatabase.tokens) {\n port.postMessage({\n tokens: null,\n status: currentDatabase.status,\n configurationName,\n });\n } else {\n const tokens = {\n ...currentDatabase.tokens,\n access_token: TOKEN.ACCESS_TOKEN + '_' + configurationName,\n };\n if (tokens.refresh_token) {\n tokens.refresh_token = TOKEN.REFRESH_TOKEN + '_' + configurationName;\n }\n if (\n tokens.idTokenPayload &&\n tokens.idTokenPayload.nonce &&\n currentDatabase.nonce != null\n ) {\n tokens.idTokenPayload.nonce =\n TOKEN.NONCE_TOKEN + '_' + configurationName;\n }\n port.postMessage({\n tokens,\n status: currentDatabase.status,\n configurationName,\n });\n }\n return;\n }\n case 'setState':\n currentDatabase.state = data.data.state;\n port.postMessage({ configurationName });\n return;\n case 'getState': {\n const state = currentDatabase.state;\n port.postMessage({ configurationName, state });\n return;\n }\n case 'setCodeVerifier':\n currentDatabase.codeVerifier = data.data.codeVerifier;\n port.postMessage({ configurationName });\n return;\n case 'getCodeVerifier': {\n port.postMessage({\n configurationName,\n codeVerifier: TOKEN.CODE_VERIFIER + '_' + configurationName,\n });\n return;\n }\n case 'setSessionState':\n currentDatabase.sessionState = data.data.sessionState;\n port.postMessage({ configurationName });\n return;\n case 'getSessionState': {\n const sessionState = currentDatabase.sessionState;\n port.postMessage({ configurationName, sessionState });\n return;\n }\n case 'setNonce':\n currentDatabase.nonce = data.data.nonce;\n port.postMessage({ configurationName });\n return;\n default:\n currentDatabase.items = { ...data.data };\n port.postMessage({ configurationName });\n }\n};\n\n_self.addEventListener('install', handleInstall);\n_self.addEventListener('activate', handleActivate);\n_self.addEventListener('fetch', handleFetch);\n_self.addEventListener('message', handleMessage);\n"],"names":["scriptFilename","acceptAnyDomainToken","TOKEN","TokenRenewMode","openidWellknownUrlEndWith","checkDomain","domains","endpoint","domain","testable","_a","getCurrentDatabaseDomain","database","url","trustedDomains","key","currentDatabase","oidcServerConfiguration","domainsToSendTokens","hasToSendToken","f","i","countLetter","str","find","parseJwt","token","b64DecodeUnicode","c","computeTimeLeft","refreshTimeBeforeTokensExpirationInSecond","expiresAt","currentTimeUnixSecond","isTokensValid","tokens","extractTokenPayload","e","isTokensOidcValid","nonce","idTokenPayload","timeInSevenDays","hideTokens","currentDatabaseElement","configurationName","response","accessTokenPayload","secureTokens","_idTokenPayload","keyNonce","idTokenExpiresAt","accessTokenExpiresAt","tokenRenewMode","isValid","reason","refreshToken","body","serializeHeaders","headers","headersObj","sleep","ms","resolve","_self","id","keepAliveJsonFilename","handleInstall","event","handleActivate","currentLoginCallbackConfigurationName","getCurrentDatabasesTokenEndpoint","databases","value","keepAliveAsync","originalRequest","isFromVanilla","init","minSleepSeconds","handleFetch","currentDatabaseForRequestAccessToken","newRequest","currentDatabases","numberDatabase","maPromesse","reject","clonedRequest","actualBody","newBody","currentDb","keyRefreshToken","keyAccessToken","fetchPromise","text","keyCodeVerifier","r","err","handleMessage","port","data","where","state","sessionState"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.webworker.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../service_worker/constants.ts","../service_worker/types.ts","../service_worker/utils/domains.ts","../service_worker/utils/strings.ts","../service_worker/utils/tokens.ts","../service_worker/utils/serializeHeaders.ts","../service_worker/utils/sleep.ts","../service_worker/utils/index.ts","../service_worker/OidcServiceWorker.ts","../node_modules/@vitest/utils/dist/types.d.ts","../node_modules/@vitest/utils/dist/helpers.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/picocolors/types.ts","../node_modules/picocolors/picocolors.d.ts","../node_modules/@vitest/utils/dist/index.d.ts","../node_modules/@vitest/runner/dist/tasks-e1fc71d1.d.ts","../node_modules/@vitest/runner/dist/runner-4c50f8a9.d.ts","../node_modules/@vitest/runner/dist/index.d.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@vitest/expect/dist/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/vite/types/metadata.d.ts","../node_modules/vite/types/hmrPayload.d.ts","../node_modules/vite/types/customEvent.d.ts","../node_modules/vite/node_modules/rollup/dist/rollup.d.ts","../node_modules/vite/types/importGlob.d.ts","../node_modules/source-map-js/source-map.d.ts","../node_modules/postcss/lib/comment.d.ts","../node_modules/postcss/lib/at-rule.d.ts","../node_modules/postcss/lib/rule.d.ts","../node_modules/postcss/lib/container.d.ts","../node_modules/postcss/lib/declaration.d.ts","../node_modules/postcss/lib/previous-map.d.ts","../node_modules/postcss/lib/input.d.ts","../node_modules/postcss/lib/css-syntax-error.d.ts","../node_modules/postcss/lib/warning.d.ts","../node_modules/postcss/lib/document.d.ts","../node_modules/postcss/lib/root.d.ts","../node_modules/postcss/lib/lazy-result.d.ts","../node_modules/postcss/lib/no-work-result.d.ts","../node_modules/postcss/lib/processor.d.ts","../node_modules/postcss/lib/result.d.ts","../node_modules/postcss/lib/node.d.ts","../node_modules/postcss/lib/list.d.ts","../node_modules/postcss/lib/postcss.d.ts","../node_modules/vite/dist/node/index.d.ts","../node_modules/@vitest/runner/dist/types.d.ts","../node_modules/@vitest/runner/types.d.ts","../node_modules/@vitest/runner/dist/utils.d.ts","../node_modules/@vitest/runner/utils.d.ts","../node_modules/tinybench/dist/index.d.ts","../node_modules/vite-node/dist/types.d-1e7e3fdf.d.ts","../node_modules/vite-node/dist/types-e288fc62.d.ts","../node_modules/vite-node/dist/client.d.ts","../node_modules/vite-node/dist/server.d.ts","../node_modules/vite-node/dist/index.d.ts","../node_modules/source-map/source-map.d.ts","../node_modules/vitest/dist/types-7cd96283.d.ts","../node_modules/tinyspy/dist/index.d.ts","../node_modules/@vitest/spy/dist/index.d.ts","../node_modules/vitest/dist/env-afee91f0.d.ts","../node_modules/vitest/dist/index.d.ts","../service_worker/utils/__tests__/domains.spec.ts","../service_worker/utils/__tests__/serializeHeaders.spec.ts","../service_worker/utils/__tests__/strings.spec.ts","../service_worker/utils/__tests__/testHelper.ts","../service_worker/utils/__tests__/tokens.spec.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"adb09ec0a64fc17dbbc4a228b3b18aa5f01db3440a6b0cbb02354df58674d584","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"ee453f8d91ef4dac435de2004557bda0db36aee22682da75815b54387434951e","c1865b210a42fd388bbe1a0f1e9ef85b523393a7ea99cc826e08f90ec56ba328","34777070c2717fff8169f87d82d740e991f24d64193ed0040c600516f27e0f02","c086955af3f274c82dc16949e595ec7e47f626a951977a3a425e04f6fd382cdb","9c3e95255ece288125f06da749bfc649ea264d4ef3cbf8e4c38fc68ea8a4f394","e51725fa106f4f8b38c013eb89fcac2f97cdd31b693568f2b83ff5891cedf562","28cd0fe4d33474764a94966cd9410ceadd84d3b7a0932d12dd34dfe5ef2fb1e8","e12ad12e64da906e9b463b23c8650c7dbd47a879413f60f7f26dfbb265703d8d","0699e2c63f478c5c1a89b12ec4c564ef9d3029f536450f98395e111fae136ac8","9c54a5d94a1ca20e52912f67f5d4d7dbdd53d73fe7ab647f1b1e2037e0fff754","bda0f515b6bf7e0559674024b72e23b58e6edf32814ce490309028957827bedb","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","576d63ef3a0408e9044ab3855ea0877b5f0c674752d4a339d79b8ed6bb88b02a","8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","25c92362f402669778f77769afabbf97cae0fb827e389e3c5a86a6538988a1f2","9e0c12c479e7592677b3b1c271dc40ed937cd3732bb25894c956630a61e191cd","32e87e95d14ce71a7afa390b190c81401cb1e67afc6c59708ed7b439cbd663da","d63d901954a2859d9581931dbf3335753ae01836eb331ad666a58dcfe70c27c2",{"version":"b9734142a4b241cfb505be4a2eb0261d211647df7c73043f817f4fdd8d96c846","affectsGlobalScope":true},"119fb97015a7336ef0ebc3de8471b70fba14772558940c65ccadf2b4de1428d7","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"2a801b0322994c3dd7f0ef30265d19b3dd3bae6d793596879166ed6219c3da68","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"cfe724f7c694aab65a9bdd1acb05997848c504548c9d4c71645c187a091cfa2a","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"0c5004386ed814334d2d4abd1d8f2f0b63ea2134d5717d8fb2fb8aabc05288ef","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"0b3eba6dca8c6e534d16ef7b7d76cb546cd3cbab616c8f71daa0a151b5412b9e","f05dce044af53a0b39d9540b53b0841e11c642908959bb865080288c1e24ebeb","8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","0aa7220845f5f3902fe043f646f9d9218bd7dd6c4046e8471580866ea6b03aa2","8bff1a31f450aeb1dc454de28fa419ea8c15831bbc8469832ea6f609b9999ed4","739c2c46edc112421fc023c24b4898b1f413f792bb6a02b40ba182c648e56c2f","858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","d1c89db652113258e4ba4bbdf5cc7a2a3a600403d4d864a2087b95186253cd5b","11a90d2cb2eaf7fdf931a63b58279e8161f1477a1bd1e914ae026c1bbf9afed3","af18e30f3ba06e9870b61dfa4a109215caabdaa337590c51b4a044a9f338ce96","ace603f7b60599f2dcdbd71c07137b60a747dd33be540f4a294b890f9e0b89dc","7658fbdd425c656fb1849b44932ae7431e8c3198d22c65ce1490deb582743b52","7786c75c1b46e93b33c63dccf689143a5f47ff451a6b3bd9b10e4801cdeadcc2","dbef2851e33a4c2fd2f3164fec70e45df647eb0e87f250de784500a3037e2c37","31491a01ed7466e0b3b0ef8407f2524683055eceb955b1d5ccf7096129468b39","f4b12f7dde4fc0e386648318481bdcfe861b566be246bebf0e8a11ebd909adf9","e8966f7c424780bb0b9d411ebe13eda8555ca15aa675603316c2952bc027b0e3","df0e5f3c4a518111d160cf3bebc9a3ac7d39c6e3bfb7a21d43c304896c3015e2","df4e2f161f74870708c2cc5e1036a6405b878496408fda1ee50d5b10e50d6601","bf791da347fb1c0ffc1e2fcd35867e64bb8355270ae26278198c521bdcf94569","e0e0e3c068e145fbb322120979299ff130ffdd39f0dcd0d5aeaa9f3f8a0d01d9","fde91356172e35b9ea68bbdf33721f7c80307a4ce65b82105eac800e9e744995","9bd5e5a4a1e66b35efe3c48ddac1116537ef86e041717f3a9b9f1e060c74efa6","d7e4a5f4ccfb749c3033fafc233073b4d1dcca0249785186c589602a81f9d86f","68161b6f3004fc10f8bb47a4986cef13c3b0728fb1ca3e1dc7316227d09b2c8d","78c7b6467e0fa14eb0b465af39d6e6ac90c13e0607695a1367c71d33333bb7d5","9330dd1414fe87001a61064208c588087bd96c61f91e7cdd8d3ecbe805f10351","1c53e1884dc6550ce179c68e9e3086f54af258fff39eb70274ea9294eb7ce6df","bfcb462146d6d962e5e81691db71da6eafc7a21f65ded1a27620153d780932ed","e666e31d323fef5642f87db0da48a83e58f0aaf9e3823e87eabd8ec7e0441a36","fbdd4ba3bdd2b138debf86f8ea4ac13a16574e9925d62be28a97f4da282feaeb","d12ab69ace581804d4f264eabc71094ca8dadfa70ae2bf5ccd54a8d6105ab84b","08c9b4a63139715b2403190e7b2a0152cd69ea488077a9311261511fcd20d3cf","54a5a83039166ea55e9b9fefe068d22c46e22c4e1318483a26ce21397f05e381","4895ac81e40fdf2b92bdde94f982cff38cebd1374d69ac7773c1a225f4532893","4d221cbdbf1f7e63ffa53674aaea5e77431264ec4e0eb7fea070230a0d5b400e","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579",{"version":"04924c19cb47975ac071bdeb4d62f9c3e51816954dcfd536f15aab0b8cb61aa6","affectsGlobalScope":true},"9bb2968ad5c75dc49dfebd740d0f57ebc81c865e3d034af6a40a8a2ca9d13c2b","0a1416d477a9a58ec1ea05f053d7d2ea47a1f84768745536ef59d278e792195b","691ca3cb7591aba2cfc1fe25cd028e18f3752a3b9635f4e02a29e47c47698a4b","e669214fe6c7ad91b44ce6dbeed23d264d2af1221bf520d0bb300a2f4fe89f6f","5cb467421bc73c8ce4ff5486f23ee575f536f18604301925278037ade4e40135","2ec1ce60484ba69d734f60cafc5d74067607705414bbc417d4ce6db2058f25b8","1674d1fa07c46f4940024898114375e867f6812815bdbaadd18599098a697d5a","440da5d10edac30dca573da7eb4a372354f6a0132968c19848efa287d9eba756","c0bbfbc6f8465030325cc908a4234b76526b63ab8aeaa69e210995a9b3b1dfaa"],"options":{"composite":true,"declarationMap":true,"esModuleInterop":true,"module":99,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"useDefineForClassFields":true},"fileIdsList":[[119],[76,119],[79,119],[80,85,119],[81,91,92,99,108,118,119],[81,82,91,99,119],[83,119],[84,85,92,100,119],[85,108,115,119],[86,88,91,99,119],[87,119],[88,89,119],[90,91,119],[91,119],[91,92,93,108,118,119],[91,92,93,108,119],[94,99,108,118,119],[91,92,94,95,99,108,115,118,119],[94,96,108,115,118,119],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],[91,97,119],[98,118,119],[88,91,99,108,119],[100,119],[101,119],[79,102,119],[103,117,119,123],[104,119],[105,119],[91,106,119],[106,107,119,121],[91,108,109,110,119],[108,110,119],[108,109,119],[111,119],[112,119],[91,113,114,119],[113,114,119],[85,99,108,115,119],[116,119],[99,117,119],[80,94,105,118,119],[85,119],[108,119,120],[119,121],[119,122],[80,85,91,93,102,108,118,119,121,123],[108,119,124],[70,74,119],[70,71,72,119],[71,119],[70,119],[70,71,119],[119,153],[119,155],[119,165],[64,119],[64,65,67,69,119],[68,119],[119,137],[119,137,149],[119,134,135,136,138,149],[119,140],[119,137,144,148,151],[119,139,151],[119,142,144,147,148,151],[119,142,144,145,147,148,151],[119,134,135,136,137,138,140,141,142,143,144,148,151],[119,133,134,135,136,137,138,140,141,142,143,144,145,147,148,149,150],[119,133,151],[119,144,145,146,148,151],[119,147,151],[119,137,143,148,151],[119,141,149],[66,119],[119,133],[119,158,159],[119,152,158,159,164],[119,158],[91,92,94,96,99,108,115,118,119,124,126,127,128,129,130,131,132,151],[119,129],[119,131],[70,73,74,75,92,119,123,152,154,156,157,160,161,162,163,164,166,167],[70,73,75,92,119,123,152,154,156,157,160,161,162,163,164],[55,56,62,119],[55,56,62,119,168],[62,119,168],[56,119,168],[56,62,119,168,172],[55,56,119],[57,58,59,60,61,119],[56,119],[55,56,58,119]],"referencedMap":[[74,1],[76,2],[77,2],[79,3],[80,4],[81,5],[82,6],[83,7],[84,8],[85,9],[86,10],[87,11],[88,12],[89,12],[90,13],[91,14],[92,15],[93,16],[78,1],[125,1],[94,17],[95,18],[96,19],[126,20],[97,21],[98,22],[99,23],[100,24],[101,25],[102,26],[103,27],[104,28],[105,29],[106,30],[107,31],[108,32],[110,33],[109,34],[111,35],[112,36],[113,37],[114,38],[115,39],[116,40],[117,41],[118,42],[119,43],[120,44],[121,45],[122,46],[123,47],[124,48],[75,49],[73,50],[72,51],[71,52],[153,50],[155,53],[154,54],[156,55],[166,56],[65,57],[70,58],[64,1],[127,1],[69,59],[68,1],[135,60],[134,61],[137,62],[141,63],[138,61],[143,64],[140,65],[145,66],[150,1],[146,67],[149,68],[151,69],[139,70],[147,71],[148,72],[144,73],[136,60],[142,74],[67,75],[66,1],[133,76],[163,1],[157,1],[165,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[8,1],[47,1],[44,1],[45,1],[46,1],[48,1],[9,1],[49,1],[50,1],[51,1],[52,1],[53,1],[1,1],[10,1],[54,1],[11,1],[160,77],[162,77],[161,78],[159,79],[158,1],[152,80],[131,1],[130,81],[129,1],[132,1],[128,82],[167,1],[168,83],[164,84],[63,85],[55,1],[56,1],[169,86],[170,87],[171,87],[172,88],[173,89],[57,90],[62,91],[60,92],[61,1],[58,1],[59,93]],"exportedModulesMap":[[74,1],[76,2],[77,2],[79,3],[80,4],[81,5],[82,6],[83,7],[84,8],[85,9],[86,10],[87,11],[88,12],[89,12],[90,13],[91,14],[92,15],[93,16],[78,1],[125,1],[94,17],[95,18],[96,19],[126,20],[97,21],[98,22],[99,23],[100,24],[101,25],[102,26],[103,27],[104,28],[105,29],[106,30],[107,31],[108,32],[110,33],[109,34],[111,35],[112,36],[113,37],[114,38],[115,39],[116,40],[117,41],[118,42],[119,43],[120,44],[121,45],[122,46],[123,47],[124,48],[75,49],[73,50],[72,51],[71,52],[153,50],[155,53],[154,54],[156,55],[166,56],[65,57],[70,58],[64,1],[127,1],[69,59],[68,1],[135,60],[134,61],[137,62],[141,63],[138,61],[143,64],[140,65],[145,66],[150,1],[146,67],[149,68],[151,69],[139,70],[147,71],[148,72],[144,73],[136,60],[142,74],[67,75],[66,1],[133,76],[163,1],[157,1],[165,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[8,1],[47,1],[44,1],[45,1],[46,1],[48,1],[9,1],[49,1],[50,1],[51,1],[52,1],[53,1],[1,1],[10,1],[54,1],[11,1],[160,77],[162,77],[161,78],[159,79],[158,1],[152,80],[131,1],[130,81],[129,1],[132,1],[128,82],[167,1],[168,83],[164,84],[63,85],[55,1],[56,1],[169,86],[170,87],[171,87],[172,88],[173,89],[57,90],[62,91],[60,92],[61,1],[58,1],[59,93]],"semanticDiagnosticsPerFile":[74,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,78,125,94,95,96,126,97,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,75,73,72,71,153,155,154,156,166,65,70,64,127,69,68,135,134,137,141,138,143,140,145,150,146,149,151,139,147,148,144,136,142,67,66,133,163,157,165,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,52,53,1,10,54,11,160,162,161,159,158,152,131,130,129,132,128,167,168,164,63,55,56,169,170,171,172,173,57,62,60,61,58,59],"affectedFilesPendingEmit":[[74,1],[76,1],[77,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[92,1],[93,1],[78,1],[125,1],[94,1],[95,1],[96,1],[126,1],[97,1],[98,1],[99,1],[100,1],[101,1],[102,1],[103,1],[104,1],[105,1],[106,1],[107,1],[108,1],[110,1],[109,1],[111,1],[112,1],[113,1],[114,1],[115,1],[116,1],[117,1],[118,1],[119,1],[120,1],[121,1],[122,1],[123,1],[124,1],[75,1],[73,1],[72,1],[71,1],[153,1],[155,1],[154,1],[156,1],[166,1],[65,1],[70,1],[64,1],[127,1],[69,1],[68,1],[135,1],[134,1],[137,1],[141,1],[138,1],[143,1],[140,1],[145,1],[150,1],[146,1],[149,1],[151,1],[139,1],[147,1],[148,1],[144,1],[136,1],[142,1],[67,1],[66,1],[133,1],[163,1],[157,1],[165,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1],[10,1],[160,1],[162,1],[161,1],[159,1],[158,1],[152,1],[131,1],[130,1],[129,1],[132,1],[128,1],[167,1],[168,1],[164,1],[63,1],[55,1],[56,1],[169,1],[170,1],[171,1],[172,1],[173,1],[57,1],[62,1],[60,1],[61,1],[58,1],[59,1]],"emitSignatures":[55,56,57,58,59,60,61,62,63,169,170,171,172,173]},"version":"4.8.2"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.webworker.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../service_worker/constants.ts","../service_worker/types.ts","../service_worker/utils/domains.ts","../service_worker/utils/strings.ts","../service_worker/utils/tokens.ts","../service_worker/utils/serializeHeaders.ts","../service_worker/utils/sleep.ts","../service_worker/utils/index.ts","../service_worker/OidcServiceWorker.ts","../node_modules/@vitest/utils/dist/types.d.ts","../node_modules/@vitest/utils/dist/helpers.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/picocolors/types.ts","../node_modules/picocolors/picocolors.d.ts","../node_modules/@vitest/utils/dist/index.d.ts","../node_modules/@vitest/runner/dist/tasks-e1fc71d1.d.ts","../node_modules/@vitest/runner/dist/runner-4c50f8a9.d.ts","../node_modules/@vitest/runner/dist/index.d.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@vitest/expect/dist/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/vite/types/metadata.d.ts","../node_modules/vite/types/hmrPayload.d.ts","../node_modules/vite/types/customEvent.d.ts","../node_modules/vite/node_modules/rollup/dist/rollup.d.ts","../node_modules/vite/types/importGlob.d.ts","../node_modules/source-map-js/source-map.d.ts","../node_modules/postcss/lib/comment.d.ts","../node_modules/postcss/lib/at-rule.d.ts","../node_modules/postcss/lib/rule.d.ts","../node_modules/postcss/lib/container.d.ts","../node_modules/postcss/lib/declaration.d.ts","../node_modules/postcss/lib/previous-map.d.ts","../node_modules/postcss/lib/input.d.ts","../node_modules/postcss/lib/css-syntax-error.d.ts","../node_modules/postcss/lib/warning.d.ts","../node_modules/postcss/lib/document.d.ts","../node_modules/postcss/lib/root.d.ts","../node_modules/postcss/lib/lazy-result.d.ts","../node_modules/postcss/lib/no-work-result.d.ts","../node_modules/postcss/lib/processor.d.ts","../node_modules/postcss/lib/result.d.ts","../node_modules/postcss/lib/node.d.ts","../node_modules/postcss/lib/list.d.ts","../node_modules/postcss/lib/postcss.d.ts","../node_modules/vite/dist/node/index.d.ts","../node_modules/@vitest/runner/dist/types.d.ts","../node_modules/@vitest/runner/types.d.ts","../node_modules/@vitest/runner/dist/utils.d.ts","../node_modules/@vitest/runner/utils.d.ts","../node_modules/tinybench/dist/index.d.ts","../node_modules/vite-node/dist/types.d-1e7e3fdf.d.ts","../node_modules/vite-node/dist/types-e288fc62.d.ts","../node_modules/vite-node/dist/client.d.ts","../node_modules/vite-node/dist/server.d.ts","../node_modules/vite-node/dist/index.d.ts","../node_modules/source-map/source-map.d.ts","../node_modules/vitest/dist/types-7cd96283.d.ts","../node_modules/tinyspy/dist/index.d.ts","../node_modules/@vitest/spy/dist/index.d.ts","../node_modules/vitest/dist/env-afee91f0.d.ts","../node_modules/vitest/dist/index.d.ts","../service_worker/utils/__tests__/domains.spec.ts","../service_worker/utils/__tests__/serializeHeaders.spec.ts","../service_worker/utils/__tests__/strings.spec.ts","../service_worker/utils/__tests__/testHelper.ts","../service_worker/utils/__tests__/tokens.spec.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"adb09ec0a64fc17dbbc4a228b3b18aa5f01db3440a6b0cbb02354df58674d584","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"ee453f8d91ef4dac435de2004557bda0db36aee22682da75815b54387434951e","c1865b210a42fd388bbe1a0f1e9ef85b523393a7ea99cc826e08f90ec56ba328","34777070c2717fff8169f87d82d740e991f24d64193ed0040c600516f27e0f02","c086955af3f274c82dc16949e595ec7e47f626a951977a3a425e04f6fd382cdb","9c3e95255ece288125f06da749bfc649ea264d4ef3cbf8e4c38fc68ea8a4f394","e51725fa106f4f8b38c013eb89fcac2f97cdd31b693568f2b83ff5891cedf562","28cd0fe4d33474764a94966cd9410ceadd84d3b7a0932d12dd34dfe5ef2fb1e8","e12ad12e64da906e9b463b23c8650c7dbd47a879413f60f7f26dfbb265703d8d","1e1202fcdbc76a3949e418174ec110be32864e9c4e756415ac1cf53a28f5a1cc","9c54a5d94a1ca20e52912f67f5d4d7dbdd53d73fe7ab647f1b1e2037e0fff754","bda0f515b6bf7e0559674024b72e23b58e6edf32814ce490309028957827bedb","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","576d63ef3a0408e9044ab3855ea0877b5f0c674752d4a339d79b8ed6bb88b02a","8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","25c92362f402669778f77769afabbf97cae0fb827e389e3c5a86a6538988a1f2","9e0c12c479e7592677b3b1c271dc40ed937cd3732bb25894c956630a61e191cd","32e87e95d14ce71a7afa390b190c81401cb1e67afc6c59708ed7b439cbd663da","d63d901954a2859d9581931dbf3335753ae01836eb331ad666a58dcfe70c27c2",{"version":"b9734142a4b241cfb505be4a2eb0261d211647df7c73043f817f4fdd8d96c846","affectsGlobalScope":true},"119fb97015a7336ef0ebc3de8471b70fba14772558940c65ccadf2b4de1428d7","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"2a801b0322994c3dd7f0ef30265d19b3dd3bae6d793596879166ed6219c3da68","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"cfe724f7c694aab65a9bdd1acb05997848c504548c9d4c71645c187a091cfa2a","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"0c5004386ed814334d2d4abd1d8f2f0b63ea2134d5717d8fb2fb8aabc05288ef","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"0b3eba6dca8c6e534d16ef7b7d76cb546cd3cbab616c8f71daa0a151b5412b9e","f05dce044af53a0b39d9540b53b0841e11c642908959bb865080288c1e24ebeb","8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","0aa7220845f5f3902fe043f646f9d9218bd7dd6c4046e8471580866ea6b03aa2","8bff1a31f450aeb1dc454de28fa419ea8c15831bbc8469832ea6f609b9999ed4","739c2c46edc112421fc023c24b4898b1f413f792bb6a02b40ba182c648e56c2f","858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","d1c89db652113258e4ba4bbdf5cc7a2a3a600403d4d864a2087b95186253cd5b","11a90d2cb2eaf7fdf931a63b58279e8161f1477a1bd1e914ae026c1bbf9afed3","af18e30f3ba06e9870b61dfa4a109215caabdaa337590c51b4a044a9f338ce96","ace603f7b60599f2dcdbd71c07137b60a747dd33be540f4a294b890f9e0b89dc","7658fbdd425c656fb1849b44932ae7431e8c3198d22c65ce1490deb582743b52","7786c75c1b46e93b33c63dccf689143a5f47ff451a6b3bd9b10e4801cdeadcc2","dbef2851e33a4c2fd2f3164fec70e45df647eb0e87f250de784500a3037e2c37","31491a01ed7466e0b3b0ef8407f2524683055eceb955b1d5ccf7096129468b39","f4b12f7dde4fc0e386648318481bdcfe861b566be246bebf0e8a11ebd909adf9","e8966f7c424780bb0b9d411ebe13eda8555ca15aa675603316c2952bc027b0e3","df0e5f3c4a518111d160cf3bebc9a3ac7d39c6e3bfb7a21d43c304896c3015e2","df4e2f161f74870708c2cc5e1036a6405b878496408fda1ee50d5b10e50d6601","bf791da347fb1c0ffc1e2fcd35867e64bb8355270ae26278198c521bdcf94569","e0e0e3c068e145fbb322120979299ff130ffdd39f0dcd0d5aeaa9f3f8a0d01d9","fde91356172e35b9ea68bbdf33721f7c80307a4ce65b82105eac800e9e744995","9bd5e5a4a1e66b35efe3c48ddac1116537ef86e041717f3a9b9f1e060c74efa6","d7e4a5f4ccfb749c3033fafc233073b4d1dcca0249785186c589602a81f9d86f","68161b6f3004fc10f8bb47a4986cef13c3b0728fb1ca3e1dc7316227d09b2c8d","78c7b6467e0fa14eb0b465af39d6e6ac90c13e0607695a1367c71d33333bb7d5","9330dd1414fe87001a61064208c588087bd96c61f91e7cdd8d3ecbe805f10351","1c53e1884dc6550ce179c68e9e3086f54af258fff39eb70274ea9294eb7ce6df","bfcb462146d6d962e5e81691db71da6eafc7a21f65ded1a27620153d780932ed","e666e31d323fef5642f87db0da48a83e58f0aaf9e3823e87eabd8ec7e0441a36","fbdd4ba3bdd2b138debf86f8ea4ac13a16574e9925d62be28a97f4da282feaeb","d12ab69ace581804d4f264eabc71094ca8dadfa70ae2bf5ccd54a8d6105ab84b","08c9b4a63139715b2403190e7b2a0152cd69ea488077a9311261511fcd20d3cf","54a5a83039166ea55e9b9fefe068d22c46e22c4e1318483a26ce21397f05e381","4895ac81e40fdf2b92bdde94f982cff38cebd1374d69ac7773c1a225f4532893","4d221cbdbf1f7e63ffa53674aaea5e77431264ec4e0eb7fea070230a0d5b400e","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579",{"version":"04924c19cb47975ac071bdeb4d62f9c3e51816954dcfd536f15aab0b8cb61aa6","affectsGlobalScope":true},"9bb2968ad5c75dc49dfebd740d0f57ebc81c865e3d034af6a40a8a2ca9d13c2b","0a1416d477a9a58ec1ea05f053d7d2ea47a1f84768745536ef59d278e792195b","691ca3cb7591aba2cfc1fe25cd028e18f3752a3b9635f4e02a29e47c47698a4b","e669214fe6c7ad91b44ce6dbeed23d264d2af1221bf520d0bb300a2f4fe89f6f","5cb467421bc73c8ce4ff5486f23ee575f536f18604301925278037ade4e40135","2ec1ce60484ba69d734f60cafc5d74067607705414bbc417d4ce6db2058f25b8","1674d1fa07c46f4940024898114375e867f6812815bdbaadd18599098a697d5a","440da5d10edac30dca573da7eb4a372354f6a0132968c19848efa287d9eba756","c0bbfbc6f8465030325cc908a4234b76526b63ab8aeaa69e210995a9b3b1dfaa"],"options":{"composite":true,"declarationMap":true,"esModuleInterop":true,"module":99,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"useDefineForClassFields":true},"fileIdsList":[[119],[76,119],[79,119],[80,85,119],[81,91,92,99,108,118,119],[81,82,91,99,119],[83,119],[84,85,92,100,119],[85,108,115,119],[86,88,91,99,119],[87,119],[88,89,119],[90,91,119],[91,119],[91,92,93,108,118,119],[91,92,93,108,119],[94,99,108,118,119],[91,92,94,95,99,108,115,118,119],[94,96,108,115,118,119],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],[91,97,119],[98,118,119],[88,91,99,108,119],[100,119],[101,119],[79,102,119],[103,117,119,123],[104,119],[105,119],[91,106,119],[106,107,119,121],[91,108,109,110,119],[108,110,119],[108,109,119],[111,119],[112,119],[91,113,114,119],[113,114,119],[85,99,108,115,119],[116,119],[99,117,119],[80,94,105,118,119],[85,119],[108,119,120],[119,121],[119,122],[80,85,91,93,102,108,118,119,121,123],[108,119,124],[70,74,119],[70,71,72,119],[71,119],[70,119],[70,71,119],[119,153],[119,155],[119,165],[64,119],[64,65,67,69,119],[68,119],[119,137],[119,137,149],[119,134,135,136,138,149],[119,140],[119,137,144,148,151],[119,139,151],[119,142,144,147,148,151],[119,142,144,145,147,148,151],[119,134,135,136,137,138,140,141,142,143,144,148,151],[119,133,134,135,136,137,138,140,141,142,143,144,145,147,148,149,150],[119,133,151],[119,144,145,146,148,151],[119,147,151],[119,137,143,148,151],[119,141,149],[66,119],[119,133],[119,158,159],[119,152,158,159,164],[119,158],[91,92,94,96,99,108,115,118,119,124,126,127,128,129,130,131,132,151],[119,129],[119,131],[70,73,74,75,92,119,123,152,154,156,157,160,161,162,163,164,166,167],[70,73,75,92,119,123,152,154,156,157,160,161,162,163,164],[55,56,62,119],[55,56,62,119,168],[62,119,168],[56,119,168],[56,62,119,168,172],[55,56,119],[57,58,59,60,61,119],[56,119],[55,56,58,119]],"referencedMap":[[74,1],[76,2],[77,2],[79,3],[80,4],[81,5],[82,6],[83,7],[84,8],[85,9],[86,10],[87,11],[88,12],[89,12],[90,13],[91,14],[92,15],[93,16],[78,1],[125,1],[94,17],[95,18],[96,19],[126,20],[97,21],[98,22],[99,23],[100,24],[101,25],[102,26],[103,27],[104,28],[105,29],[106,30],[107,31],[108,32],[110,33],[109,34],[111,35],[112,36],[113,37],[114,38],[115,39],[116,40],[117,41],[118,42],[119,43],[120,44],[121,45],[122,46],[123,47],[124,48],[75,49],[73,50],[72,51],[71,52],[153,50],[155,53],[154,54],[156,55],[166,56],[65,57],[70,58],[64,1],[127,1],[69,59],[68,1],[135,60],[134,61],[137,62],[141,63],[138,61],[143,64],[140,65],[145,66],[150,1],[146,67],[149,68],[151,69],[139,70],[147,71],[148,72],[144,73],[136,60],[142,74],[67,75],[66,1],[133,76],[163,1],[157,1],[165,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[8,1],[47,1],[44,1],[45,1],[46,1],[48,1],[9,1],[49,1],[50,1],[51,1],[52,1],[53,1],[1,1],[10,1],[54,1],[11,1],[160,77],[162,77],[161,78],[159,79],[158,1],[152,80],[131,1],[130,81],[129,1],[132,1],[128,82],[167,1],[168,83],[164,84],[63,85],[55,1],[56,1],[169,86],[170,87],[171,87],[172,88],[173,89],[57,90],[62,91],[60,92],[61,1],[58,1],[59,93]],"exportedModulesMap":[[74,1],[76,2],[77,2],[79,3],[80,4],[81,5],[82,6],[83,7],[84,8],[85,9],[86,10],[87,11],[88,12],[89,12],[90,13],[91,14],[92,15],[93,16],[78,1],[125,1],[94,17],[95,18],[96,19],[126,20],[97,21],[98,22],[99,23],[100,24],[101,25],[102,26],[103,27],[104,28],[105,29],[106,30],[107,31],[108,32],[110,33],[109,34],[111,35],[112,36],[113,37],[114,38],[115,39],[116,40],[117,41],[118,42],[119,43],[120,44],[121,45],[122,46],[123,47],[124,48],[75,49],[73,50],[72,51],[71,52],[153,50],[155,53],[154,54],[156,55],[166,56],[65,57],[70,58],[64,1],[127,1],[69,59],[68,1],[135,60],[134,61],[137,62],[141,63],[138,61],[143,64],[140,65],[145,66],[150,1],[146,67],[149,68],[151,69],[139,70],[147,71],[148,72],[144,73],[136,60],[142,74],[67,75],[66,1],[133,76],[163,1],[157,1],[165,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[8,1],[47,1],[44,1],[45,1],[46,1],[48,1],[9,1],[49,1],[50,1],[51,1],[52,1],[53,1],[1,1],[10,1],[54,1],[11,1],[160,77],[162,77],[161,78],[159,79],[158,1],[152,80],[131,1],[130,81],[129,1],[132,1],[128,82],[167,1],[168,83],[164,84],[63,85],[55,1],[56,1],[169,86],[170,87],[171,87],[172,88],[173,89],[57,90],[62,91],[60,92],[61,1],[58,1],[59,93]],"semanticDiagnosticsPerFile":[74,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,78,125,94,95,96,126,97,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,75,73,72,71,153,155,154,156,166,65,70,64,127,69,68,135,134,137,141,138,143,140,145,150,146,149,151,139,147,148,144,136,142,67,66,133,163,157,165,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,52,53,1,10,54,11,160,162,161,159,158,152,131,130,129,132,128,167,168,164,63,55,56,169,170,171,172,173,57,62,60,61,58,59],"affectedFilesPendingEmit":[[74,1],[76,1],[77,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[92,1],[93,1],[78,1],[125,1],[94,1],[95,1],[96,1],[126,1],[97,1],[98,1],[99,1],[100,1],[101,1],[102,1],[103,1],[104,1],[105,1],[106,1],[107,1],[108,1],[110,1],[109,1],[111,1],[112,1],[113,1],[114,1],[115,1],[116,1],[117,1],[118,1],[119,1],[120,1],[121,1],[122,1],[123,1],[124,1],[75,1],[73,1],[72,1],[71,1],[153,1],[155,1],[154,1],[156,1],[166,1],[65,1],[70,1],[64,1],[127,1],[69,1],[68,1],[135,1],[134,1],[137,1],[141,1],[138,1],[143,1],[140,1],[145,1],[150,1],[146,1],[149,1],[151,1],[139,1],[147,1],[148,1],[144,1],[136,1],[142,1],[67,1],[66,1],[133,1],[163,1],[157,1],[165,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1],[10,1],[160,1],[162,1],[161,1],[159,1],[158,1],[152,1],[131,1],[130,1],[129,1],[132,1],[128,1],[167,1],[168,1],[164,1],[63,1],[55,1],[56,1],[169,1],[170,1],[171,1],[172,1],[173,1],[57,1],[62,1],[60,1],[61,1],[58,1],[59,1]],"emitSignatures":[55,56,57,58,59,60,61,62,63,169,170,171,172,173]},"version":"4.8.2"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initWorker.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,kBAAkB;;;CAmE9B,CAAC;AAkCF,eAAO,MAAM,UAAU,yCAEtB,CAAC;
|
|
1
|
+
{"version":3,"file":"initWorker.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,kBAAkB;;;CAmE9B,CAAC;AAkCF,eAAO,MAAM,UAAU,yCAEtB,CAAC;AAuBF,eAAO,MAAM,SAAS,mCAQrB,CAAC;AAgBF,eAAO,MAAM,eAAe;;6EAuDmD,iBAAiB;;;;;;;;;;;;;wCA8ClD,MAAM;;;;;;EAiDnD,CAAC"}
|
|
@@ -117,9 +117,11 @@ const sleepAsync = (milliseconds) => {
|
|
|
117
117
|
exports.sleepAsync = sleepAsync;
|
|
118
118
|
const keepAlive = () => {
|
|
119
119
|
try {
|
|
120
|
-
const
|
|
120
|
+
const operatingSystem = (0, exports.getOperatingSystem)(navigator);
|
|
121
|
+
const minSleepSeconds = operatingSystem.os === 'Android' ? 240 : 150;
|
|
122
|
+
const promise = fetch('/OidcKeepAliveServiceWorker.json', { body: JSON.stringify({ minSleepSeconds }) });
|
|
121
123
|
promise.catch(error => { console.log(error); });
|
|
122
|
-
(0, exports.sleepAsync)(
|
|
124
|
+
(0, exports.sleepAsync)((minSleepSeconds - 10) * 1000).then(keepAlive);
|
|
123
125
|
}
|
|
124
126
|
catch (error) {
|
|
125
127
|
console.log(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initWorker.js","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"initWorker.js","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -72,7 +72,9 @@ const keepAliveAsync = async (event: FetchEvent) => {
|
|
|
72
72
|
const init = { status: 200, statusText: 'oidc-service-worker' };
|
|
73
73
|
const response = new Response('{}', init);
|
|
74
74
|
if (!isFromVanilla) {
|
|
75
|
-
|
|
75
|
+
const originalRequestBody = await originalRequest.json();
|
|
76
|
+
const minSleepSeconds = originalRequestBody.minSleepSeconds ?? 240;
|
|
77
|
+
for (let i = 0; i < minSleepSeconds; i++) {
|
|
76
78
|
await sleep(1000 + Math.floor(Math.random() * 1000));
|
|
77
79
|
const cache = await caches.open('oidc_dummy_cache');
|
|
78
80
|
await cache.put(event.request, response.clone());
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const N="OidcTrustedDomains.js",y="*",_={REFRESH_TOKEN:"REFRESH_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER",ACCESS_TOKEN:"ACCESS_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER",NONCE_TOKEN:"NONCE_SECURED_BY_OIDC_SERVICE_WORKER",CODE_VERIFIER:"CODE_VERIFIER_SECURED_BY_OIDC_SERVICE_WORKER"},v={access_token_or_id_token_invalid:"access_token_or_id_token_invalid",access_token_invalid:"access_token_invalid",id_token_invalid:"id_token_invalid"},A="/.well-known/openid-configuration";function x(n,t){if(!t)return;if(!n.find(e=>{var s;let o;return typeof e=="string"?o=new RegExp(`^${e}`):o=e,(s=o.test)==null?void 0:s.call(o,t)}))throw new Error("Domain "+t+" is not trusted, please add domain in "+N)}const D=(n,t,i)=>{var e;if(t.endsWith(A))return null;for(const[o,s]of Object.entries(n)){const a=s.oidcServerConfiguration;if(!a||a.tokenEndpoint&&t===a.tokenEndpoint||a.revocationEndpoint&&t===a.revocationEndpoint)continue;const d=a.userInfoEndpoint?[a.userInfoEndpoint,...i[o]]:[...i[o]];let c=!1;if(d.find(u=>u===y))c=!0;else for(let u=0;u<d.length;u++){let r=d[u];if(typeof r=="string"&&(r=new RegExp(`^${r}`)),(e=r.test)!=null&&e.call(r,t)){c=!0;break}}if(c)return s.tokens?s:null}return null};function K(n,t){return n.split(t).length-1}function M(n){return JSON.parse(P(n.split(".")[1].replace("-","+").replace("_","/")))}function P(n){return decodeURIComponent(Array.prototype.map.call(atob(n),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}function U(n,t){const i=new Date().getTime()/1e3;return Math.round(t-n-i)}function W(n){return n?U(0,n.expiresAt)>0:!1}const w=n=>{try{return n&&K(n,".")===2?M(n):null}catch(t){console.warn(t)}return null},F=(n,t,i)=>{if(n.idTokenPayload){const e=n.idTokenPayload;if(i.issuer!==e.iss)return{isValid:!1,reason:"Issuer does not match"};const o=new Date().getTime()/1e3;if(e.exp&&e.exp<o)return{isValid:!1,reason:"Token expired"};const s=60*60*24*7;if(e.iat&&e.iat+s<o)return{isValid:!1,reason:"Token is used from too long time"};if(e.nonce&&e.nonce!==t)return{isValid:!1,reason:"Nonce does not match"}}return{isValid:!0,reason:""}};function O(n){const t=n.configurationName;return i=>i.status!==200?i:i.json().then(e=>{if(!e.issued_at){const f=new Date().getTime()/1e3;e.issued_at=f}const o=w(e.access_token),s={...e,access_token:_.ACCESS_TOKEN+"_"+t,accessTokenPayload:o};e.accessTokenPayload=o;let a=null;if(e.id_token){if(a=w(e.id_token),e.idTokenPayload={...a},a.nonce&&n.nonce!=null){const f=_.NONCE_TOKEN+"_"+n.configurationName;a.nonce=f}s.idTokenPayload=a}e.refresh_token&&(s.refresh_token=_.REFRESH_TOKEN+"_"+t);const d=a&&a.exp?a.exp:Number.MAX_VALUE,c=o&&o.exp?o.exp:e.issued_at+e.expires_in;let u;const r=n.oidcConfiguration.token_renew_mode;r===v.access_token_invalid?u=c:r===v.id_token_invalid?u=d:u=d<c?d:c,s.expiresAt=u,e.expiresAt=u;const T=n.nonce?n.nonce.nonce:null,{isValid:l,reason:k}=F(e,T,n.oidcServerConfiguration);if(!l)throw Error(`Tokens are not OpenID valid, reason: ${k}`);if(n.tokens!=null&&"refresh_token"in n.tokens&&!("refresh_token"in e)){const f=n.tokens.refresh_token;n.tokens={...e,refresh_token:f}}else n.tokens=e;n.status="LOGGED_IN";const p=JSON.stringify(s);return new Response(p,i)})}function C(n){const t={};for(const i of n.keys())n.has(i)&&(t[i]=n.get(i));return t}const V=n=>new Promise(t=>setTimeout(t,n)),g=self;g.importScripts(N);const I=Math.round(new Date().getTime()/1e3).toString(),b="OidcKeepAliveServiceWorker.json",q=n=>{console.log("[OidcServiceWorker] service worker installed "+I),n.waitUntil(g.skipWaiting())},L=n=>{console.log("[OidcServiceWorker] service worker activated "+I),n.waitUntil(g.clients.claim())};let S=null;const h={default:{configurationName:"default",tokens:null,status:null,state:null,codeVerifier:null,nonce:null,oidcServerConfiguration:null}},H=(n,t)=>{const i=[];for(const[,e]of Object.entries(n))(e.oidcServerConfiguration!=null&&t.startsWith(e.oidcServerConfiguration.tokenEndpoint)||e.oidcServerConfiguration!=null&&e.oidcServerConfiguration.revocationEndpoint&&t.startsWith(e.oidcServerConfiguration.revocationEndpoint))&&i.push(e);return i},j=async n=>{const t=n.request,i=t.headers.has("oidc-vanilla"),e={status:200,statusText:"oidc-service-worker"},o=new Response("{}",e);if(!i){const a=(await t.json()).minSleepSeconds??240;for(let d=0;d<a;d++)await V(1e3+Math.floor(Math.random()*1e3)),await(await caches.open("oidc_dummy_cache")).put(n.request,o.clone())}return o},J=async n=>{const t=n.request,i=t.url;if(t.url.includes(b)){n.respondWith(j(n));return}const e=D(h,t.url,trustedDomains);if(e&&e.tokens&&e.tokens.access_token){for(;e.tokens&&!W(e.tokens);)await V(200);const d=new Request(t,{headers:{...C(t.headers),authorization:"Bearer "+e.tokens.access_token},mode:e.oidcConfiguration.service_worker_convert_all_requests_to_cors?"cors":t.mode});n.waitUntil(n.respondWith(fetch(d)));return}if(n.request.method!=="POST")return;let o=null;const s=H(h,t.url),a=s.length;if(a>0){const d=new Promise((c,u)=>{const r=t.clone();r.text().then(l=>{if(l.includes(_.REFRESH_TOKEN)||l.includes(_.ACCESS_TOKEN)){let k=l;for(let f=0;f<a;f++){const E=s[f];if(E&&E.tokens!=null){const m=_.REFRESH_TOKEN+"_"+E.configurationName;if(l.includes(m)){k=k.replace(m,encodeURIComponent(E.tokens.refresh_token)),o=E;break}const R=_.ACCESS_TOKEN+"_"+E.configurationName;if(l.includes(R)){k=k.replace(R,encodeURIComponent(E.tokens.access_token)),o=E;break}}}const p=fetch(t,{body:k,method:r.method,headers:{...C(t.headers)},mode:r.mode,cache:r.cache,redirect:r.redirect,referrer:r.referrer,credentials:r.credentials,integrity:r.integrity});return o&&o.oidcServerConfiguration!=null&&o.oidcServerConfiguration.revocationEndpoint&&i.startsWith(o.oidcServerConfiguration.revocationEndpoint)?p.then(async f=>{const E=await f.text();return new Response(E,f)}):p.then(O(o))}else if(l.includes("code_verifier=")&&S){o=h[S],S=null;let k=l;if(o&&o.codeVerifier!=null){const p=_.CODE_VERIFIER+"_"+o.configurationName;l.includes(p)&&(k=k.replace(p,o.codeVerifier))}return fetch(t,{body:k,method:r.method,headers:{...C(t.headers)},mode:r.mode,cache:r.cache,redirect:r.redirect,referrer:r.referrer,credentials:r.credentials,integrity:r.integrity}).then(O(o))}}).then(l=>{l!==void 0?c(l):(console.log("success undefined"),u(new Error("Response is undefined inside a success")))}).catch(l=>{l!==void 0?u(l):(console.log("error undefined"),u(new Error("Response is undefined inside a error")))})});n.waitUntil(n.respondWith(d))}},Y=n=>{const t=n.ports[0],i=n.data,e=i.configurationName;let o=h[e];switch(o||(h[e]={tokens:null,state:null,codeVerifier:null,oidcServerConfiguration:null,oidcConfiguration:void 0,nonce:null,status:null,configurationName:e},o=h[e],trustedDomains[e]||(trustedDomains[e]=[])),i.type){case"clear":o.tokens=null,o.state=null,o.codeVerifier=null,o.status=i.data.status,t.postMessage({configurationName:e});return;case"init":{const s=i.data.oidcServerConfiguration,a=trustedDomains[e];a.find(c=>c===y)||[s.tokenEndpoint,s.revocationEndpoint,s.userInfoEndpoint,s.issuer].forEach(c=>{x(a,c)}),o.oidcServerConfiguration=s,o.oidcConfiguration=i.data.oidcConfiguration;const d=i.data.where;if(d==="loginCallbackAsync"||d==="tryKeepExistingSessionAsync"?S=e:S=null,!o.tokens)t.postMessage({tokens:null,status:o.status,configurationName:e});else{const c={...o.tokens,access_token:_.ACCESS_TOKEN+"_"+e};c.refresh_token&&(c.refresh_token=_.REFRESH_TOKEN+"_"+e),c.idTokenPayload&&c.idTokenPayload.nonce&&o.nonce!=null&&(c.idTokenPayload.nonce=_.NONCE_TOKEN+"_"+e),t.postMessage({tokens:c,status:o.status,configurationName:e})}return}case"setState":o.state=i.data.state,t.postMessage({configurationName:e});return;case"getState":{const s=o.state;t.postMessage({configurationName:e,state:s});return}case"setCodeVerifier":o.codeVerifier=i.data.codeVerifier,t.postMessage({configurationName:e});return;case"getCodeVerifier":{t.postMessage({configurationName:e,codeVerifier:_.CODE_VERIFIER+"_"+e});return}case"setSessionState":o.sessionState=i.data.sessionState,t.postMessage({configurationName:e});return;case"getSessionState":{const s=o.sessionState;t.postMessage({configurationName:e,sessionState:s});return}case"setNonce":o.nonce=i.data.nonce,t.postMessage({configurationName:e});return;default:o.items={...i.data},t.postMessage({configurationName:e})}};g.addEventListener("install",q);g.addEventListener("activate",L);g.addEventListener("fetch",J);g.addEventListener("message",Y);
|
|
2
|
+
//# sourceMappingURL=OidcServiceWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OidcServiceWorker.js","sources":["../constants.ts","../utils/domains.ts","../utils/strings.ts","../utils/tokens.ts","../utils/serializeHeaders.ts","../utils/sleep.ts","../OidcServiceWorker.ts"],"sourcesContent":["const scriptFilename = 'OidcTrustedDomains.js'; /* global trustedDomains */\nconst acceptAnyDomainToken = '*';\n\ntype TokenType = {\n readonly REFRESH_TOKEN: string;\n readonly ACCESS_TOKEN: string;\n readonly NONCE_TOKEN: string;\n readonly CODE_VERIFIER: string;\n};\n\nconst TOKEN: TokenType = {\n REFRESH_TOKEN: 'REFRESH_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER',\n ACCESS_TOKEN: 'ACCESS_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER',\n NONCE_TOKEN: 'NONCE_SECURED_BY_OIDC_SERVICE_WORKER',\n CODE_VERIFIER: 'CODE_VERIFIER_SECURED_BY_OIDC_SERVICE_WORKER',\n};\n\ntype TokenRenewModeType = {\n readonly access_token_or_id_token_invalid: string;\n readonly access_token_invalid: string;\n readonly id_token_invalid: string;\n};\n\nconst TokenRenewMode: TokenRenewModeType = {\n access_token_or_id_token_invalid: 'access_token_or_id_token_invalid',\n access_token_invalid: 'access_token_invalid',\n id_token_invalid: 'id_token_invalid',\n};\n\nconst openidWellknownUrlEndWith = '/.well-known/openid-configuration';\n\nexport { scriptFilename, acceptAnyDomainToken, TOKEN, TokenRenewMode, openidWellknownUrlEndWith };\n","import { TrustedDomains } from './../types';\nimport {\n acceptAnyDomainToken,\n openidWellknownUrlEndWith,\n scriptFilename,\n} from '../constants';\nimport { Database, Domain, OidcConfig } from '../types';\n\nfunction checkDomain(domains: Domain[], endpoint: string) {\n if (!endpoint) {\n return;\n }\n\n const domain = domains.find((domain) => {\n let testable: RegExp;\n\n if (typeof domain === 'string') {\n testable = new RegExp(`^${domain}`);\n } else {\n testable = domain;\n }\n\n return testable.test?.(endpoint);\n });\n if (!domain) {\n throw new Error(\n 'Domain ' +\n endpoint +\n ' is not trusted, please add domain in ' +\n scriptFilename\n );\n }\n}\n\nconst getCurrentDatabaseDomain = (\n database: Database,\n url: string,\n trustedDomains: TrustedDomains\n) => {\n if (url.endsWith(openidWellknownUrlEndWith)) {\n return null;\n }\n for (const [key, currentDatabase] of Object.entries<OidcConfig>(database)) {\n const oidcServerConfiguration = currentDatabase.oidcServerConfiguration;\n\n if (!oidcServerConfiguration) {\n continue;\n }\n\n if (\n oidcServerConfiguration.tokenEndpoint &&\n url === oidcServerConfiguration.tokenEndpoint\n ) {\n continue;\n }\n if (\n oidcServerConfiguration.revocationEndpoint &&\n url === oidcServerConfiguration.revocationEndpoint\n ) {\n continue;\n }\n\n const domainsToSendTokens = oidcServerConfiguration.userInfoEndpoint\n ? [oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]]\n : [...trustedDomains[key]];\n\n let hasToSendToken = false;\n if (domainsToSendTokens.find((f) => f === acceptAnyDomainToken)) {\n hasToSendToken = true;\n } else {\n for (let i = 0; i < domainsToSendTokens.length; i++) {\n let domain = domainsToSendTokens[i];\n\n if (typeof domain === 'string') {\n domain = new RegExp(`^${domain}`);\n }\n\n if (domain.test?.(url)) {\n hasToSendToken = true;\n break;\n }\n }\n }\n\n if (hasToSendToken) {\n if (!currentDatabase.tokens) {\n return null;\n }\n return currentDatabase;\n }\n }\n return null;\n};\n\nexport { checkDomain, getCurrentDatabaseDomain };\n","/**\n * Count occurances of letter in string\n * @param str\n * @param find\n * @returns\n */\nexport function countLetter(str: string, find: string) {\n return str.split(find).length - 1;\n}\n","import { TOKEN, TokenRenewMode } from '../constants';\nimport { OidcConfig, OidcConfiguration, OidcServerConfiguration, Tokens } from '../types';\nimport { countLetter } from './strings';\n\nfunction parseJwt(token: string) {\n return JSON.parse(\n b64DecodeUnicode(token.split('.')[1].replace('-', '+').replace('_', '/'))\n );\n}\nfunction b64DecodeUnicode(str: string) {\n return decodeURIComponent(\n Array.prototype.map\n .call(\n atob(str),\n (c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\n )\n .join('')\n );\n}\n\nfunction computeTimeLeft(\n refreshTimeBeforeTokensExpirationInSecond: number,\n expiresAt: number\n) {\n const currentTimeUnixSecond = new Date().getTime() / 1000;\n return Math.round(\n expiresAt -\n refreshTimeBeforeTokensExpirationInSecond -\n currentTimeUnixSecond\n );\n}\n\nfunction isTokensValid(tokens: Tokens | null) {\n if (!tokens) {\n return false;\n }\n return computeTimeLeft(0, tokens.expiresAt) > 0;\n}\n\nconst extractTokenPayload = (token?: string) => {\n try {\n if (!token) {\n return null;\n }\n if (countLetter(token, '.') === 2) {\n return parseJwt(token);\n } else {\n return null;\n }\n } catch (e) {\n console.warn(e);\n }\n return null;\n};\n\n// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).\n// https://github.com/openid/AppAuth-JS/issues/65\nconst isTokensOidcValid = (\n tokens: Tokens,\n nonce: string | null,\n oidcServerConfiguration: OidcServerConfiguration\n): { isValid: boolean; reason: string } => {\n if (tokens.idTokenPayload) {\n const idTokenPayload = tokens.idTokenPayload;\n // 2: The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery) MUST exactly match the value of the iss (issuer) Claim.\n if (oidcServerConfiguration.issuer !== idTokenPayload.iss) {\n return { isValid: false, reason: 'Issuer does not match' };\n }\n // 3: The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. The aud (audience) Claim MAY contain an array with more than one element. The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client.\n\n // 6: If the ID Token is received via direct communication between the Client and the Token Endpoint (which it is in this flow), the TLS server validation MAY be used to validate the issuer in place of checking the token signature. The Client MUST validate the signature of all other ID Tokens according to JWS [JWS] using the algorithm specified in the JWT alg Header Parameter. The Client MUST use the keys provided by the Issuer.\n\n // 9: The current time MUST be before the time represented by the exp Claim.\n const currentTimeUnixSecond = new Date().getTime() / 1000;\n if (idTokenPayload.exp && idTokenPayload.exp < currentTimeUnixSecond) {\n return { isValid: false, reason: 'Token expired' };\n }\n // 10: The iat Claim can be used to reject tokens that were issued too far away from the current time, limiting the amount of time that nonces need to be stored to prevent attacks. The acceptable range is Client specific.\n const timeInSevenDays = 60 * 60 * 24 * 7;\n if (\n idTokenPayload.iat &&\n idTokenPayload.iat + timeInSevenDays < currentTimeUnixSecond\n ) {\n return { isValid: false, reason: 'Token is used from too long time' };\n }\n // 11: If a nonce value was sent in the Authentication Request, a nonce Claim MUST be present and its value checked to verify that it is the same value as the one that was sent in the Authentication Request. The Client SHOULD check the nonce value for replay attacks. The precise method for detecting replay attacks is Client specific.\n if (idTokenPayload.nonce && idTokenPayload.nonce !== nonce) {\n return { isValid: false, reason: 'Nonce does not match' };\n }\n }\n return { isValid: true, reason: '' };\n};\n\nfunction hideTokens(currentDatabaseElement: OidcConfig) {\n const configurationName = currentDatabaseElement.configurationName;\n return (response: Response) => {\n if (response.status !== 200) {\n return response;\n }\n return response.json().then<Response>((tokens: Tokens) => {\n if (!tokens.issued_at) {\n const currentTimeUnixSecond = new Date().getTime() / 1000;\n tokens.issued_at = currentTimeUnixSecond;\n }\n\n const accessTokenPayload = extractTokenPayload(tokens.access_token);\n const secureTokens = {\n ...tokens,\n access_token: TOKEN.ACCESS_TOKEN + '_' + configurationName,\n accessTokenPayload,\n };\n tokens.accessTokenPayload = accessTokenPayload;\n\n let _idTokenPayload = null;\n if (tokens.id_token) {\n _idTokenPayload = extractTokenPayload(tokens.id_token);\n tokens.idTokenPayload = { ..._idTokenPayload };\n if (_idTokenPayload.nonce && currentDatabaseElement.nonce != null) {\n const keyNonce =\n TOKEN.NONCE_TOKEN + '_' + currentDatabaseElement.configurationName;\n _idTokenPayload.nonce = keyNonce;\n }\n secureTokens.idTokenPayload = _idTokenPayload;\n }\n if (tokens.refresh_token) {\n secureTokens.refresh_token =\n TOKEN.REFRESH_TOKEN + '_' + configurationName;\n }\n\n const idTokenExpiresAt =\n _idTokenPayload && _idTokenPayload.exp\n ? _idTokenPayload.exp\n : Number.MAX_VALUE;\n const accessTokenExpiresAt =\n accessTokenPayload && accessTokenPayload.exp\n ? accessTokenPayload.exp\n : tokens.issued_at + tokens.expires_in;\n\n let expiresAt: number;\n const tokenRenewMode = (\n currentDatabaseElement.oidcConfiguration as OidcConfiguration\n ).token_renew_mode;\n if (tokenRenewMode === TokenRenewMode.access_token_invalid) {\n expiresAt = accessTokenExpiresAt;\n } else if (tokenRenewMode === TokenRenewMode.id_token_invalid) {\n expiresAt = idTokenExpiresAt;\n } else {\n expiresAt =\n idTokenExpiresAt < accessTokenExpiresAt\n ? idTokenExpiresAt\n : accessTokenExpiresAt;\n }\n secureTokens.expiresAt = expiresAt;\n\n tokens.expiresAt = expiresAt;\n const nonce = currentDatabaseElement.nonce\n ? currentDatabaseElement.nonce.nonce\n : null;\n const { isValid, reason } = isTokensOidcValid(\n tokens,\n nonce,\n currentDatabaseElement.oidcServerConfiguration as OidcServerConfiguration\n ); //TODO: Type assertion, could be null.\n if (!isValid) {\n throw Error(`Tokens are not OpenID valid, reason: ${reason}`);\n }\n\n // When refresh_token is not rotated we reuse ald refresh_token\n if (\n currentDatabaseElement.tokens != null &&\n 'refresh_token' in currentDatabaseElement.tokens &&\n !('refresh_token' in tokens)\n ) {\n const refreshToken = currentDatabaseElement.tokens.refresh_token;\n\n currentDatabaseElement.tokens = {\n ...tokens,\n refresh_token: refreshToken,\n };\n } else {\n currentDatabaseElement.tokens = tokens;\n }\n\n currentDatabaseElement.status = 'LOGGED_IN';\n const body = JSON.stringify(secureTokens);\n return new Response(body, response);\n });\n };\n}\n\nexport {\n b64DecodeUnicode,\n computeTimeLeft,\n isTokensValid,\n extractTokenPayload,\n isTokensOidcValid,\n hideTokens\n};\n","import { FetchHeaders } from '../types';\n\nfunction serializeHeaders(headers: Headers) {\n const headersObj: Record<string, string> = {};\n for (const key of (headers as FetchHeaders).keys()) {\n if (headers.has(key)) {\n headersObj[key] = headers.get(key) as string;\n }\n }\n return headersObj;\n}\nexport {serializeHeaders};","const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\nexport { sleep };\n","import { acceptAnyDomainToken, TOKEN, scriptFilename } from './constants';\nimport {\n TrustedDomains,\n Database,\n OidcConfig,\n OidcConfiguration,\n MessageEventData,\n} from './types';\nimport {\n checkDomain,\n getCurrentDatabaseDomain,\n hideTokens,\n isTokensValid,\n serializeHeaders,\n sleep,\n} from './utils';\n\nconst _self = self as ServiceWorkerGlobalScope & typeof globalThis;\n\ndeclare let trustedDomains: TrustedDomains;\n\n_self.importScripts(scriptFilename);\n\nconst id = Math.round(new Date().getTime() / 1000).toString();\n\nconst keepAliveJsonFilename = 'OidcKeepAliveServiceWorker.json';\nconst handleInstall = (event: ExtendableEvent) => {\n console.log('[OidcServiceWorker] service worker installed ' + id);\n event.waitUntil(_self.skipWaiting());\n};\n\nconst handleActivate = (event: ExtendableEvent) => {\n console.log('[OidcServiceWorker] service worker activated ' + id);\n event.waitUntil(_self.clients.claim());\n};\n\nlet currentLoginCallbackConfigurationName: string | null = null;\nconst database: Database = {\n default: {\n configurationName: 'default',\n tokens: null,\n status: null,\n state: null,\n codeVerifier: null,\n nonce: null,\n oidcServerConfiguration: null,\n },\n};\n\nconst getCurrentDatabasesTokenEndpoint = (database: Database, url: string) => {\n const databases: OidcConfig[] = [];\n for (const [, value] of Object.entries<OidcConfig>(database)) {\n if (\n value.oidcServerConfiguration != null &&\n url.startsWith(value.oidcServerConfiguration.tokenEndpoint)\n ) {\n databases.push(value);\n } else if (\n value.oidcServerConfiguration != null &&\n value.oidcServerConfiguration.revocationEndpoint &&\n url.startsWith(value.oidcServerConfiguration.revocationEndpoint)\n ) {\n databases.push(value);\n }\n }\n return databases;\n};\n\nconst keepAliveAsync = async (event: FetchEvent) => {\n const originalRequest = event.request;\n const isFromVanilla = originalRequest.headers.has('oidc-vanilla');\n const init = { status: 200, statusText: 'oidc-service-worker' };\n const response = new Response('{}', init);\n if (!isFromVanilla) {\n const originalRequestBody = await originalRequest.json();\n const minSleepSeconds = originalRequestBody.minSleepSeconds ?? 240;\n for (let i = 0; i < minSleepSeconds; i++) {\n await sleep(1000 + Math.floor(Math.random() * 1000));\n const cache = await caches.open('oidc_dummy_cache');\n await cache.put(event.request, response.clone());\n }\n }\n\n return response;\n};\n\nconst handleFetch = async (event: FetchEvent) => {\n const originalRequest = event.request;\n const url = originalRequest.url;\n if (originalRequest.url.includes(keepAliveJsonFilename)) {\n event.respondWith(keepAliveAsync(event));\n return;\n }\n\n const currentDatabaseForRequestAccessToken = getCurrentDatabaseDomain(\n database,\n originalRequest.url,\n trustedDomains\n );\n if (\n currentDatabaseForRequestAccessToken &&\n currentDatabaseForRequestAccessToken.tokens &&\n currentDatabaseForRequestAccessToken.tokens.access_token\n ) {\n while (\n currentDatabaseForRequestAccessToken.tokens &&\n !isTokensValid(currentDatabaseForRequestAccessToken.tokens)\n ) {\n await sleep(200);\n }\n const newRequest = new Request(originalRequest, {\n headers: {\n ...serializeHeaders(originalRequest.headers),\n authorization:\n 'Bearer ' + currentDatabaseForRequestAccessToken.tokens.access_token,\n },\n mode: (\n currentDatabaseForRequestAccessToken.oidcConfiguration as OidcConfiguration\n ).service_worker_convert_all_requests_to_cors\n ? 'cors'\n : originalRequest.mode,\n });\n\n //@ts-ignore -- TODO: review, waitUntil takes a promise, this returns a void\n event.waitUntil(event.respondWith(fetch(newRequest)));\n\n return;\n }\n\n if (event.request.method !== 'POST') {\n return;\n }\n\n let currentDatabase: OidcConfig | null = null;\n const currentDatabases = getCurrentDatabasesTokenEndpoint(\n database,\n originalRequest.url\n );\n const numberDatabase = currentDatabases.length;\n if (numberDatabase > 0) {\n const maPromesse = new Promise<Response>((resolve, reject) => {\n const clonedRequest = originalRequest.clone();\n const response = clonedRequest.text().then((actualBody) => {\n if (\n actualBody.includes(TOKEN.REFRESH_TOKEN) ||\n actualBody.includes(TOKEN.ACCESS_TOKEN)\n ) {\n let newBody = actualBody;\n for (let i = 0; i < numberDatabase; i++) {\n const currentDb = currentDatabases[i];\n\n if (currentDb && currentDb.tokens != null) {\n const keyRefreshToken =\n TOKEN.REFRESH_TOKEN + '_' + currentDb.configurationName;\n if (actualBody.includes(keyRefreshToken)) {\n newBody = newBody.replace(\n keyRefreshToken,\n encodeURIComponent(currentDb.tokens.refresh_token as string)\n );\n currentDatabase = currentDb;\n break;\n }\n const keyAccessToken =\n TOKEN.ACCESS_TOKEN + '_' + currentDb.configurationName;\n if (actualBody.includes(keyAccessToken)) {\n newBody = newBody.replace(\n keyAccessToken,\n encodeURIComponent(currentDb.tokens.access_token)\n );\n currentDatabase = currentDb;\n break;\n }\n }\n }\n const fetchPromise = fetch(originalRequest, {\n body: newBody,\n method: clonedRequest.method,\n headers: {\n ...serializeHeaders(originalRequest.headers),\n },\n mode: clonedRequest.mode,\n cache: clonedRequest.cache,\n redirect: clonedRequest.redirect,\n referrer: clonedRequest.referrer,\n credentials: clonedRequest.credentials,\n integrity: clonedRequest.integrity,\n });\n\n if (\n currentDatabase &&\n currentDatabase.oidcServerConfiguration != null &&\n currentDatabase.oidcServerConfiguration.revocationEndpoint &&\n url.startsWith(\n currentDatabase.oidcServerConfiguration.revocationEndpoint\n )\n ) {\n return fetchPromise.then(async (response) => {\n const text = await response.text();\n return new Response(text, response);\n });\n }\n return fetchPromise.then(hideTokens(currentDatabase as OidcConfig)); //todo type assertion to OidcConfig but could be null, NEEDS REVIEW\n } else if (\n actualBody.includes('code_verifier=') &&\n currentLoginCallbackConfigurationName\n ) {\n currentDatabase = database[currentLoginCallbackConfigurationName];\n currentLoginCallbackConfigurationName = null;\n let newBody = actualBody;\n if (currentDatabase && currentDatabase.codeVerifier != null) {\n const keyCodeVerifier =\n TOKEN.CODE_VERIFIER + '_' + currentDatabase.configurationName;\n if (actualBody.includes(keyCodeVerifier)) {\n newBody = newBody.replace(\n keyCodeVerifier,\n currentDatabase.codeVerifier\n );\n }\n }\n\n return fetch(originalRequest, {\n body: newBody,\n method: clonedRequest.method,\n headers: {\n ...serializeHeaders(originalRequest.headers),\n },\n mode: clonedRequest.mode,\n cache: clonedRequest.cache,\n redirect: clonedRequest.redirect,\n referrer: clonedRequest.referrer,\n credentials: clonedRequest.credentials,\n integrity: clonedRequest.integrity,\n }).then(hideTokens(currentDatabase));\n }\n return undefined;\n });\n response\n .then((r) => {\n if (r !== undefined) {\n resolve(r);\n } else {\n console.log('success undefined');\n reject(new Error('Response is undefined inside a success'));\n }\n })\n .catch((err) => {\n if (err !== undefined) {\n reject(err);\n } else {\n console.log('error undefined');\n reject(new Error('Response is undefined inside a error'));\n }\n });\n });\n\n //@ts-ignore -- TODO: review, waitUntil takes a promise, this returns a void\n event.waitUntil(event.respondWith(maPromesse));\n }\n};\n\nconst handleMessage = (event: ExtendableMessageEvent) => {\n const port = event.ports[0];\n const data = event.data as MessageEventData;\n const configurationName = data.configurationName;\n let currentDatabase = database[configurationName];\n\n if (!currentDatabase) {\n database[configurationName] = {\n tokens: null,\n state: null,\n codeVerifier: null,\n oidcServerConfiguration: null,\n oidcConfiguration: undefined,\n nonce: null,\n status: null,\n configurationName,\n };\n currentDatabase = database[configurationName];\n if (!trustedDomains[configurationName]) {\n trustedDomains[configurationName] = [];\n }\n }\n\n switch (data.type) {\n case 'clear':\n currentDatabase.tokens = null;\n currentDatabase.state = null;\n currentDatabase.codeVerifier = null;\n currentDatabase.status = data.data.status;\n port.postMessage({ configurationName });\n return;\n case 'init': {\n const oidcServerConfiguration = data.data.oidcServerConfiguration;\n const domains = trustedDomains[configurationName];\n if (!domains.find((f) => f === acceptAnyDomainToken)) {\n [\n oidcServerConfiguration.tokenEndpoint,\n oidcServerConfiguration.revocationEndpoint,\n oidcServerConfiguration.userInfoEndpoint,\n oidcServerConfiguration.issuer,\n ].forEach((url) => {\n checkDomain(domains, url);\n });\n }\n currentDatabase.oidcServerConfiguration = oidcServerConfiguration;\n currentDatabase.oidcConfiguration = data.data.oidcConfiguration;\n const where = data.data.where;\n if (\n where === 'loginCallbackAsync' ||\n where === 'tryKeepExistingSessionAsync'\n ) {\n currentLoginCallbackConfigurationName = configurationName;\n } else {\n currentLoginCallbackConfigurationName = null;\n }\n\n if (!currentDatabase.tokens) {\n port.postMessage({\n tokens: null,\n status: currentDatabase.status,\n configurationName,\n });\n } else {\n const tokens = {\n ...currentDatabase.tokens,\n access_token: TOKEN.ACCESS_TOKEN + '_' + configurationName,\n };\n if (tokens.refresh_token) {\n tokens.refresh_token = TOKEN.REFRESH_TOKEN + '_' + configurationName;\n }\n if (\n tokens.idTokenPayload &&\n tokens.idTokenPayload.nonce &&\n currentDatabase.nonce != null\n ) {\n tokens.idTokenPayload.nonce =\n TOKEN.NONCE_TOKEN + '_' + configurationName;\n }\n port.postMessage({\n tokens,\n status: currentDatabase.status,\n configurationName,\n });\n }\n return;\n }\n case 'setState':\n currentDatabase.state = data.data.state;\n port.postMessage({ configurationName });\n return;\n case 'getState': {\n const state = currentDatabase.state;\n port.postMessage({ configurationName, state });\n return;\n }\n case 'setCodeVerifier':\n currentDatabase.codeVerifier = data.data.codeVerifier;\n port.postMessage({ configurationName });\n return;\n case 'getCodeVerifier': {\n port.postMessage({\n configurationName,\n codeVerifier: TOKEN.CODE_VERIFIER + '_' + configurationName,\n });\n return;\n }\n case 'setSessionState':\n currentDatabase.sessionState = data.data.sessionState;\n port.postMessage({ configurationName });\n return;\n case 'getSessionState': {\n const sessionState = currentDatabase.sessionState;\n port.postMessage({ configurationName, sessionState });\n return;\n }\n case 'setNonce':\n currentDatabase.nonce = data.data.nonce;\n port.postMessage({ configurationName });\n return;\n default:\n currentDatabase.items = { ...data.data };\n port.postMessage({ configurationName });\n }\n};\n\n_self.addEventListener('install', handleInstall);\n_self.addEventListener('activate', handleActivate);\n_self.addEventListener('fetch', handleFetch);\n_self.addEventListener('message', handleMessage);\n"],"names":["scriptFilename","acceptAnyDomainToken","TOKEN","TokenRenewMode","openidWellknownUrlEndWith","checkDomain","domains","endpoint","domain","testable","_a","getCurrentDatabaseDomain","database","url","trustedDomains","key","currentDatabase","oidcServerConfiguration","domainsToSendTokens","hasToSendToken","f","i","countLetter","str","find","parseJwt","token","b64DecodeUnicode","c","computeTimeLeft","refreshTimeBeforeTokensExpirationInSecond","expiresAt","currentTimeUnixSecond","isTokensValid","tokens","extractTokenPayload","e","isTokensOidcValid","nonce","idTokenPayload","timeInSevenDays","hideTokens","currentDatabaseElement","configurationName","response","accessTokenPayload","secureTokens","_idTokenPayload","keyNonce","idTokenExpiresAt","accessTokenExpiresAt","tokenRenewMode","isValid","reason","refreshToken","body","serializeHeaders","headers","headersObj","sleep","ms","resolve","_self","id","keepAliveJsonFilename","handleInstall","event","handleActivate","currentLoginCallbackConfigurationName","getCurrentDatabasesTokenEndpoint","databases","value","keepAliveAsync","originalRequest","isFromVanilla","init","minSleepSeconds","handleFetch","currentDatabaseForRequestAccessToken","newRequest","currentDatabases","numberDatabase","maPromesse","reject","clonedRequest","actualBody","newBody","currentDb","keyRefreshToken","keyAccessToken","fetchPromise","text","keyCodeVerifier","r","err","handleMessage","port","data","where","state","sessionState"],"mappings":"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"}
|
|
@@ -109,9 +109,12 @@ export const sleepAsync = (milliseconds) => {
|
|
|
109
109
|
|
|
110
110
|
const keepAlive = () => {
|
|
111
111
|
try {
|
|
112
|
-
const
|
|
112
|
+
const operatingSystem = getOperatingSystem(navigator);
|
|
113
|
+
const minSleepSeconds = operatingSystem.os === 'Android' ? 240 : 150;
|
|
114
|
+
const promise = fetch('/OidcKeepAliveServiceWorker.json',
|
|
115
|
+
{ body: JSON.stringify({ minSleepSeconds }) });
|
|
113
116
|
promise.catch(error => { console.log(error); });
|
|
114
|
-
sleepAsync(
|
|
117
|
+
sleepAsync((minSleepSeconds - 10) * 1000).then(keepAlive);
|
|
115
118
|
} catch (error) { console.log(error); }
|
|
116
119
|
};
|
|
117
120
|
|