UNPKG

@auth0/auth0-spa-js

Version:

Auth0 SDK for Single Page Applications using Authorization Code Grant Flow with PKCE

3 lines (2 loc) 2.98 kB
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";class e extends Error{constructor(t,r){super(r),this.error=t,this.error_description=r,Object.setPrototypeOf(this,e.prototype)}static fromPayload(t){let{error:r,error_description:s}=t;return new e(r,s)}}class t extends e{constructor(e,s){super("missing_refresh_token","Missing Refresh Token (audience: '".concat(r(e,["default"]),"', scope: '").concat(r(s),"')")),this.audience=e,this.scope=s,Object.setPrototypeOf(this,t.prototype)}}function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&!t.includes(e)?e:""}"function"==typeof SuppressedError&&SuppressedError;const s=e=>{var{clientId:t}=e,r=function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(s=Object.getOwnPropertySymbols(e);o<s.length;o++)t.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(e,s[o])&&(r[s[o]]=e[s[o]])}return r}(e,["clientId"]);return new URLSearchParams((e=>Object.keys(e).filter((t=>void 0!==e[t])).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:e[r]})),{}))(Object.assign({client_id:t},r))).toString()};let o={};const n=(e,t)=>"".concat(e,"|").concat(t);addEventListener("message",(async e=>{let r,c,{data:{timeout:i,auth:a,fetchUrl:f,fetchOptions:l,useFormData:p,useMrrt:u},ports:[d]}=e,h={};const{audience:y,scope:g}=a||{};try{const e=p?(e=>{const t=new URLSearchParams(e),r={};return t.forEach(((e,t)=>{r[t]=e})),r})(l.body):JSON.parse(l.body);if(!e.refresh_token&&"refresh_token"===e.grant_type){if(c=((e,t)=>o[n(e,t)])(y,g),!c&&u){const e=o.latest_refresh_token,t=((e,t)=>{const r=Object.keys(o).find((r=>{if("latest_refresh_token"!==r){const s=((e,t)=>t.startsWith("".concat(e,"|")))(t,r),o=r.split("|")[1].split(" "),n=e.split(" ").every((e=>o.includes(e)));return s&&n}}));return!!r})(g,y);e&&!t&&(c=e)}if(!c)throw new t(y,g);l.body=p?s(Object.assign(Object.assign({},e),{refresh_token:c})):JSON.stringify(Object.assign(Object.assign({},e),{refresh_token:c}))}let a,k;"function"==typeof AbortController&&(a=new AbortController,l.signal=a.signal);try{k=await Promise.race([(j=i,new Promise((e=>setTimeout(e,j)))),fetch(f,Object.assign({},l))])}catch(e){return void d.postMessage({error:e.message})}if(!k)return a&&a.abort(),void d.postMessage({error:"Timeout when executing 'fetch'"});_=k.headers,h=[..._].reduce(((e,t)=>{let[r,s]=t;return e[r]=s,e}),{}),r=await k.json(),r.refresh_token?(u&&(o.latest_refresh_token=r.refresh_token,O=c,b=r.refresh_token,Object.entries(o).forEach((e=>{let[t,r]=e;r===O&&(o[t]=b)}))),((e,t,r)=>{o[n(t,r)]=e})(r.refresh_token,y,g),delete r.refresh_token):((e,t)=>{delete o[n(e,t)]})(y,g),d.postMessage({ok:k.ok,json:r,headers:h})}catch(e){d.postMessage({ok:!1,json:{error:e.error,error_description:e.message},headers:h})}var O,b,_,j}))})); //# sourceMappingURL=auth0-spa-js.worker.production.js.map