@okta/okta-auth-js 5.4.2 → 5.7.0
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/CHANGELOG.md +60 -5
- package/README.md +66 -977
- package/cjs/AuthStateManager.js +5 -0
- package/cjs/AuthStateManager.js.map +1 -1
- package/cjs/OktaAuth.js +32 -11
- package/cjs/OktaAuth.js.map +1 -1
- package/cjs/OktaUserAgent.js +2 -2
- package/cjs/StorageManager.js +8 -0
- package/cjs/StorageManager.js.map +1 -1
- package/cjs/TransactionManager.js +32 -4
- package/cjs/TransactionManager.js.map +1 -1
- package/cjs/browser/browserStorage.js +5 -5
- package/cjs/browser/browserStorage.js.map +1 -1
- package/cjs/builderUtil.js +6 -0
- package/cjs/builderUtil.js.map +1 -1
- package/cjs/constants.js +3 -1
- package/cjs/constants.js.map +1 -1
- package/cjs/fetch/fetchRequest.js +10 -3
- package/cjs/fetch/fetchRequest.js.map +1 -1
- package/cjs/http/request.js +4 -0
- package/cjs/http/request.js.map +1 -1
- package/cjs/idx/remediate.js +33 -23
- package/cjs/idx/remediate.js.map +1 -1
- package/cjs/idx/remediators/Base/AuthenticatorData.js +7 -7
- package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
- package/cjs/idx/remediators/Base/Remediator.js +13 -7
- package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
- package/cjs/idx/remediators/Base/SelectAuthenticator.js +6 -6
- package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js +18 -14
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/EnrollProfile.js +14 -0
- package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
- package/cjs/idx/remediators/Identify.js +5 -2
- package/cjs/idx/remediators/Identify.js.map +1 -1
- package/cjs/idx/remediators/ReEnrollAuthenticator.js +1 -1
- package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
- package/cjs/idx/transactionMeta.js +3 -1
- package/cjs/idx/transactionMeta.js.map +1 -1
- package/cjs/idx/types/idx-js.js.map +1 -1
- package/cjs/idx/types/index.js +17 -6
- package/cjs/idx/types/index.js.map +1 -1
- package/cjs/index.js +6 -6
- package/cjs/index.js.map +1 -1
- package/cjs/oidc/getToken.js +14 -9
- package/cjs/oidc/getToken.js.map +1 -1
- package/cjs/oidc/getWithPopup.js +9 -2
- package/cjs/oidc/getWithPopup.js.map +1 -1
- package/cjs/oidc/getWithRedirect.js +6 -2
- package/cjs/oidc/getWithRedirect.js.map +1 -1
- package/cjs/oidc/parseFromUrl.js +59 -20
- package/cjs/oidc/parseFromUrl.js.map +1 -1
- package/cjs/oidc/renewTokens.js +28 -5
- package/cjs/oidc/renewTokens.js.map +1 -1
- package/cjs/oidc/util/browser.js +1 -13
- package/cjs/oidc/util/browser.js.map +1 -1
- package/cjs/oidc/util/validateClaims.js +8 -6
- package/cjs/oidc/util/validateClaims.js.map +1 -1
- package/cjs/options.js +3 -0
- package/cjs/options.js.map +1 -1
- package/cjs/tx/AuthTransaction.js +1 -3
- package/cjs/tx/AuthTransaction.js.map +1 -1
- package/cjs/tx/api.js +3 -0
- package/cjs/tx/api.js.map +1 -1
- package/cjs/types/Transaction.js.map +1 -1
- package/cjs/util/sharedStorage.js +54 -0
- package/cjs/util/sharedStorage.js.map +1 -0
- package/dist/okta-auth-js.min.js +8 -8
- package/dist/okta-auth-js.min.js.map +1 -1
- package/dist/okta-auth-js.umd.js +8 -8
- package/dist/okta-auth-js.umd.js.map +1 -1
- package/esm/AuthStateManager.js +5 -0
- package/esm/AuthStateManager.js.map +1 -1
- package/esm/OktaAuth.js +32 -12
- package/esm/OktaAuth.js.map +1 -1
- package/esm/OktaUserAgent.js +2 -2
- package/esm/StorageManager.js +9 -1
- package/esm/StorageManager.js.map +1 -1
- package/esm/TransactionManager.js +31 -4
- package/esm/TransactionManager.js.map +1 -1
- package/esm/browser/browserStorage.js +5 -5
- package/esm/browser/browserStorage.js.map +1 -1
- package/esm/builderUtil.js +6 -0
- package/esm/builderUtil.js.map +1 -1
- package/esm/constants.js +1 -0
- package/esm/constants.js.map +1 -1
- package/esm/fetch/fetchRequest.js +10 -3
- package/esm/fetch/fetchRequest.js.map +1 -1
- package/esm/http/request.js +4 -0
- package/esm/http/request.js.map +1 -1
- package/esm/idx/remediate.js +41 -29
- package/esm/idx/remediate.js.map +1 -1
- package/esm/idx/remediators/Base/AuthenticatorData.js +7 -7
- package/esm/idx/remediators/Base/AuthenticatorData.js.map +1 -1
- package/esm/idx/remediators/Base/Remediator.js +13 -8
- package/esm/idx/remediators/Base/Remediator.js.map +1 -1
- package/esm/idx/remediators/Base/SelectAuthenticator.js +6 -6
- package/esm/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
- package/esm/idx/remediators/Base/VerifyAuthenticator.js +18 -15
- package/esm/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
- package/esm/idx/remediators/EnrollProfile.js +21 -4
- package/esm/idx/remediators/EnrollProfile.js.map +1 -1
- package/esm/idx/remediators/Identify.js +4 -2
- package/esm/idx/remediators/Identify.js.map +1 -1
- package/esm/idx/remediators/ReEnrollAuthenticator.js +1 -1
- package/esm/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
- package/esm/idx/transactionMeta.js +3 -1
- package/esm/idx/transactionMeta.js.map +1 -1
- package/esm/idx/types/idx-js.js.map +1 -1
- package/esm/idx/types/index.js +15 -5
- package/esm/idx/types/index.js.map +1 -1
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/oidc/getToken.js +15 -10
- package/esm/oidc/getToken.js.map +1 -1
- package/esm/oidc/getWithPopup.js +8 -2
- package/esm/oidc/getWithPopup.js.map +1 -1
- package/esm/oidc/getWithRedirect.js +6 -2
- package/esm/oidc/getWithRedirect.js.map +1 -1
- package/esm/oidc/parseFromUrl.js +59 -17
- package/esm/oidc/parseFromUrl.js.map +1 -1
- package/esm/oidc/renewTokens.js +27 -5
- package/esm/oidc/renewTokens.js.map +1 -1
- package/esm/oidc/util/browser.js +1 -12
- package/esm/oidc/util/browser.js.map +1 -1
- package/esm/oidc/util/validateClaims.js +8 -6
- package/esm/oidc/util/validateClaims.js.map +1 -1
- package/esm/options.js +3 -0
- package/esm/options.js.map +1 -1
- package/esm/tx/AuthTransaction.js +1 -3
- package/esm/tx/AuthTransaction.js.map +1 -1
- package/esm/tx/api.js +3 -0
- package/esm/tx/api.js.map +1 -1
- package/esm/types/Transaction.js.map +1 -1
- package/esm/util/sharedStorage.js +43 -0
- package/esm/util/sharedStorage.js.map +1 -0
- package/lib/AuthStateManager.d.ts +4 -2
- package/lib/OktaAuth.d.ts +3 -2
- package/lib/StorageManager.d.ts +1 -0
- package/lib/TransactionManager.d.ts +1 -0
- package/lib/constants.d.ts +1 -0
- package/lib/idx/remediators/Base/AuthenticatorData.d.ts +2 -5
- package/lib/idx/remediators/Base/Remediator.d.ts +3 -6
- package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +3 -6
- package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +1 -1
- package/lib/idx/remediators/EnrollProfile.d.ts +1 -0
- package/lib/idx/remediators/Identify.d.ts +1 -5
- package/lib/idx/types/idx-js.d.ts +1 -0
- package/lib/idx/types/index.d.ts +19 -9
- package/lib/index.d.ts +2 -1
- package/lib/oidc/getToken.d.ts +2 -2
- package/lib/oidc/parseFromUrl.d.ts +4 -1
- package/lib/oidc/renewTokens.d.ts +0 -12
- package/lib/types/AuthState.d.ts +1 -0
- package/lib/types/OktaAuthOptions.d.ts +2 -1
- package/lib/types/Storage.d.ts +3 -0
- package/lib/types/Transaction.d.ts +5 -1
- package/lib/types/api.d.ts +9 -4
- package/lib/types/http.d.ts +1 -0
- package/lib/util/sharedStorage.d.ts +6 -0
- package/package.json +5 -4
package/esm/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../lib/options.ts"],"names":["removeTrailingSlash","warn","removeNils","assertValidConfig","fetchRequest","browserStorage","serverStorage","isBrowser","isHTTPS","BROWSER_STORAGE","token","storageTypes","useMultipleCookies","cache","transaction","SERVER_STORAGE","getCookieSettings","args","cookieSettings","cookies","secure","sameSite","getDefaultOptions","storageUtil","storageManager","devMode","httpRequestClient","mergeOptions","options","Object","assign","buildOptions","issuer","tokenUrl","authorizeUrl","userinfoUrl","revokeUrl","logoutUrl","clientId","redirectUri","state","scopes","postLogoutRedirectUri","responseMode","responseType","pkce","useInteractionCodeFlow","transformErrorXHR","transformAuthState","restoreOriginalUri","headers","ignoreSignature","clientSecret"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,SAASA,mBAAT,EAA8BC,IAA9B,EAAoCC,UAApC,QAAsD,QAAtD;AACA,SAASC,iBAAT,QAAkC,eAAlC;AAGA,OAAOC,YAAP,MAAyB,sBAAzB;AACA,OAAOC,cAAP,MAA2B,0BAA3B;AACA,OAAOC,aAAP,MAA0B,wBAA1B;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,YAAnC;AAEA,IAAMC,eAAsC,GAAG;AAC7CC,EAAAA,KAAK,EAAE;AACLC,IAAAA,YAAY,EAAE,CACZ,cADY,EAEZ,gBAFY,EAGZ,QAHY,CADT;AAMLC,IAAAA,kBAAkB,EAAE;AANf,GADsC;AAS7CC,EAAAA,KAAK,EAAE;AACLF,IAAAA,YAAY,EAAE,CACZ,cADY,EAEZ,gBAFY,EAGZ,QAHY;AADT,GATsC;AAgB7CG,EAAAA,WAAW,EAAE;AACXH,IAAAA,YAAY,EAAE,CACZ,gBADY,EAEZ,cAFY,EAGZ,QAHY;AADH;
|
|
1
|
+
{"version":3,"sources":["../../lib/options.ts"],"names":["removeTrailingSlash","warn","removeNils","assertValidConfig","fetchRequest","browserStorage","serverStorage","isBrowser","isHTTPS","BROWSER_STORAGE","token","storageTypes","useMultipleCookies","cache","transaction","SERVER_STORAGE","getCookieSettings","args","cookieSettings","cookies","secure","sameSite","getDefaultOptions","storageUtil","storageManager","devMode","httpRequestClient","mergeOptions","options","Object","assign","buildOptions","issuer","tokenUrl","authorizeUrl","userinfoUrl","revokeUrl","logoutUrl","clientId","redirectUri","state","scopes","postLogoutRedirectUri","responseMode","responseType","pkce","useInteractionCodeFlow","transformErrorXHR","transformAuthState","restoreOriginalUri","headers","ignoreSignature","clientSecret"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\n/* eslint-disable complexity */\nimport { removeTrailingSlash, warn, removeNils } from './util';\nimport { assertValidConfig } from './builderUtil';\nimport { OktaAuthOptions, StorageManagerOptions } from './types';\n\nimport fetchRequest from './fetch/fetchRequest';\nimport browserStorage from './browser/browserStorage';\nimport serverStorage from './server/serverStorage';\nimport { isBrowser, isHTTPS } from './features';\n\nconst BROWSER_STORAGE: StorageManagerOptions = {\n token: {\n storageTypes: [\n 'localStorage',\n 'sessionStorage',\n 'cookie'\n ],\n useMultipleCookies: true\n },\n cache: {\n storageTypes: [\n 'localStorage',\n 'sessionStorage',\n 'cookie'\n ]\n },\n transaction: {\n storageTypes: [\n 'sessionStorage',\n 'localStorage',\n 'cookie'\n ]\n },\n 'shared-transaction': {\n storageTypes: [\n 'localStorage'\n ]\n }\n};\n\nconst SERVER_STORAGE: StorageManagerOptions = {\n token: {\n storageTypes: [\n 'memory'\n ]\n },\n cache: {\n storageTypes: [\n 'memory'\n ]\n },\n transaction: {\n storageTypes: [\n 'memory'\n ]\n }\n};\n\nfunction getCookieSettings(args: OktaAuthOptions = {}, isHTTPS: boolean) {\n // Secure cookies will be automatically used on a HTTPS connection\n // Non-secure cookies will be automatically used on a HTTP connection\n // secure option can override the automatic behavior\n var cookieSettings = args.cookies || {};\n if (typeof cookieSettings.secure === 'undefined') {\n cookieSettings.secure = isHTTPS;\n }\n if (typeof cookieSettings.sameSite === 'undefined') {\n cookieSettings.sameSite = cookieSettings.secure ? 'none' : 'lax';\n }\n\n // If secure=true, but the connection is not HTTPS, set secure=false.\n if (cookieSettings.secure && !isHTTPS) {\n // eslint-disable-next-line no-console\n warn(\n 'The current page is not being served with the HTTPS protocol.\\n' +\n 'For security reasons, we strongly recommend using HTTPS.\\n' +\n 'If you cannot use HTTPS, set \"cookies.secure\" option to false.'\n );\n cookieSettings.secure = false;\n }\n\n // Chrome >= 80 will block cookies with SameSite=None unless they are also Secure\n // If sameSite=none, but the connection is not HTTPS, set sameSite=lax.\n if (cookieSettings.sameSite === 'none' && !cookieSettings.secure) {\n cookieSettings.sameSite = 'lax';\n }\n\n return cookieSettings;\n}\n\n\nexport function getDefaultOptions(): OktaAuthOptions {\n const storageUtil = isBrowser() ? browserStorage : serverStorage;\n const storageManager = isBrowser() ? BROWSER_STORAGE : SERVER_STORAGE;\n return {\n devMode: false,\n httpRequestClient: fetchRequest,\n storageUtil,\n storageManager\n };\n}\n\nfunction mergeOptions(options, args): OktaAuthOptions {\n return Object.assign({}, options, removeNils(args), {\n storageManager: Object.assign({}, options.storageManager, args.storageManager)\n });\n}\n\nexport function buildOptions(args: OktaAuthOptions = {}): OktaAuthOptions {\n assertValidConfig(args);\n args = mergeOptions(getDefaultOptions(), args);\n return removeNils({\n // OIDC configuration\n issuer: removeTrailingSlash(args.issuer),\n tokenUrl: removeTrailingSlash(args.tokenUrl),\n authorizeUrl: removeTrailingSlash(args.authorizeUrl),\n userinfoUrl: removeTrailingSlash(args.userinfoUrl),\n revokeUrl: removeTrailingSlash(args.revokeUrl),\n logoutUrl: removeTrailingSlash(args.logoutUrl),\n clientId: args.clientId,\n redirectUri: args.redirectUri,\n state: args.state,\n scopes: args.scopes,\n postLogoutRedirectUri: args.postLogoutRedirectUri,\n responseMode: args.responseMode,\n responseType: args.responseType,\n pkce: args.pkce === false ? false : true, // PKCE defaults to true\n useInteractionCodeFlow: args.useInteractionCodeFlow,\n\n // Internal options\n httpRequestClient: args.httpRequestClient,\n transformErrorXHR: args.transformErrorXHR,\n transformAuthState: args.transformAuthState,\n restoreOriginalUri: args.restoreOriginalUri,\n storageUtil: args.storageUtil,\n headers: args.headers,\n devMode: !!args.devMode,\n storageManager: args.storageManager,\n cookies: isBrowser() ? getCookieSettings(args, isHTTPS()) : args.cookies,\n\n // Give the developer the ability to disable token signature validation.\n ignoreSignature: !!args.ignoreSignature,\n\n // Server-side web applications\n clientSecret: args.clientSecret\n });\n}\n"],"file":"options.js"}
|
|
@@ -130,9 +130,7 @@ function link2fn(sdk, res, obj, link, ref) {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
var href = link.href + toQueryString(params);
|
|
133
|
-
return postToTransaction(sdk, href, data
|
|
134
|
-
withCredentials: true
|
|
135
|
-
});
|
|
133
|
+
return postToTransaction(sdk, href, data);
|
|
136
134
|
};
|
|
137
135
|
}
|
|
138
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/tx/AuthTransaction.ts"],"names":["get","find","omit","toQueryString","clone","isObject","AuthSdkError","addStateToken","getPollFn","postToTransaction","AuthTransaction","constructor","sdk","res","data","interactionHandle","status","Object","assign","flattenEmbedded","stateToken","_links","cancel","Promise","resolve","link2fn","obj","link","ref","Array","isArray","name","opts","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","undefined","e","reject","rememberDevice","profile","updatePhone","links2fns","fns","linkName","prototype","hasOwnProperty","call","type","poll","fn","objArr","o","ol","push","embedded","_embedded","key"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,GAAT,QAAoB,SAApB;AACA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,aAArB,EAAoCC,KAApC,EAA2CC,QAA3C,QAA2D,SAA3D;AACA,OAAOC,YAAP,MAAyB,wBAAzB;AAEA,SAASC,aAAT,QAA8B,QAA9B;AACA,SAASC,SAAT,QAA0B,QAA1B;AACA,SAASC,iBAAT,QAAkC,OAAlC;AAiCA,OAAO,MAAMC,eAAN,CAA4E;AA0BjFC,EAAAA,WAAW,CAACC,GAAD,EAAkB;AAAA,QAAZC,GAAY,uEAAN,IAAM;;AAC3B,QAAIA,GAAJ,EAAS;AACP,WAAKC,IAAL,GAAYD,GAAZ;;AAEA,UAAI,KAAKC,IAAL,CAAUC,iBAAd,EAAiC;AAC/B,aAAKC,MAAL,GAAcH,GAAG,CAACG,MAAlB;AACA;AACD,OANM,CAQP;;;AACAC,MAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoBC,eAAe,CAACP,GAAD,EAAMC,GAAN,EAAWA,GAAX,EAAgB,EAAhB,CAAnC;AACA,aAAO,KAAKO,UAAZ,CAVO,CAYP;AACA;AACA;AACA;;AACA,UAAIP,GAAG,CAACG,MAAJ,KAAe,oBAAf,IAAuC,CAACH,GAAG,CAACQ,MAAhD,EAAwD;AACtD,aAAKC,MAAL,GAAc,YAAW;AACvB,iBAAOC,OAAO,CAACC,OAAR,CAAgB,IAAId,eAAJ,CAAoBE,GAApB,CAAhB,CAAP;AACD,SAFD;AAGD;AACF;AACF;;AAjDgF;;AAoDnF,SAASa,OAAT,CAAiBb,GAAjB,EAAsBC,GAAtB,EAA2Ba,GAA3B,EAAgCC,IAAhC,EAAsCC,GAAtC,EAA2C;AACzC,MAAIC,KAAK,CAACC,OAAN,CAAcH,IAAd,CAAJ,EAAyB;AACvB,WAAO,UAASI,IAAT,EAAeC,IAAf,EAAsB;AAC3B,UAAI,CAACD,IAAL,EAAW;AACT,cAAM,IAAIzB,YAAJ,CAAiB,0BAAjB,CAAN;AACD;;AAED,UAAI2B,EAAE,GAAGhC,IAAI,CAAC0B,IAAD,EAAO;AAACI,QAAAA,IAAI,EAAEA;AAAP,OAAP,CAAb;;AACA,UAAI,CAACE,EAAL,EAAS;AACP,cAAM,IAAI3B,YAAJ,CAAiB,6BAAjB,CAAN;AACD;;AAED,aAAOmB,OAAO,CAACb,GAAD,EAAMC,GAAN,EAAWa,GAAX,EAAgBO,EAAhB,EAAoBL,GAApB,CAAP,CAAgCI,IAAhC,CAAP;AACD,KAXD;AAaD,GAdD,MAcO,IAAIL,IAAI,CAACO,KAAL,IACPP,IAAI,CAACO,KAAL,CAAWC,KADJ,IAEPR,IAAI,CAACO,KAAL,CAAWC,KAAX,CAAiBC,MAAjB,KAA4B,CAFzB,EAE4B;AACjC,QAAIC,MAAM,GAAGV,IAAI,CAACO,KAAL,CAAWC,KAAX,CAAiB,CAAjB,CAAb;;AACA,YAAQE,MAAR;AAEE,WAAK,KAAL;AACE,eAAO,YAAW;AAChB,iBAAOrC,GAAG,CAACY,GAAD,EAAMe,IAAI,CAACW,IAAX,EAAiB;AAAEC,YAAAA,eAAe,EAAE;AAAnB,WAAjB,CAAV;AACD,SAFD;;AAIF,WAAK,MAAL;AACE;AACA,eAAO,UAASP,IAAT,EAAiC;AACtC,cAAIJ,GAAG,IAAIA,GAAG,CAACY,SAAf,EAA0B;AACxBZ,YAAAA,GAAG,CAACY,SAAJ,GAAgB,KAAhB;AACD;;AAED,cAAI1B,IAAI,GAAGP,aAAa,CAACM,GAAD,EAAMmB,IAAN,CAAxB;;AAEA,cAAInB,GAAG,CAACG,MAAJ,KAAe,YAAf,IAA+BH,GAAG,CAACG,MAAJ,KAAe,eAAlD,EAAmE;AACjE;AACAC,YAAAA,MAAM,CAACC,MAAP,CAAcJ,IAAd,EAAoB;AAClB2B,cAAAA,UAAU,EAAEf,GAAG,CAACe,UADE;AAElBC,cAAAA,QAAQ,EAAEhB,GAAG,CAACgB;AAFI,aAApB;AAID;;AAED,cAAIC,MAAM,GAAG,EAAb;AACA,cAAIC,QAAQ,GAAG9B,IAAI,CAAC8B,QAApB;;AACA,cAAIA,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B,gBAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;AAClC,kBAAI;AACFD,gBAAAA,MAAM,CAACC,QAAP,GAAkB,CAAC,CAACA,QAAQ,EAA5B;AACD,eAFD,CAGA,OAAOE,CAAP,EAAU;AACR,uBAAOvB,OAAO,CAACwB,MAAR,CAAe,IAAIzC,YAAJ,CAAiB,gCAAjB,CAAf,CAAP;AACD;AACF,aAPD,MAQK,IAAIsC,QAAQ,KAAK,IAAjB,EAAuB;AAC1BD,cAAAA,MAAM,CAACC,QAAP,GAAkB,CAAC,CAACA,QAApB;AACD;;AACD9B,YAAAA,IAAI,GAAGZ,IAAI,CAACY,IAAD,EAAO,UAAP,CAAX;AACD;;AAED,cAAIkC,cAAc,GAAGlC,IAAI,CAACkC,cAA1B;;AACA,cAAIA,cAAc,KAAKH,SAAvB,EAAkC;AAChC,gBAAI,OAAOG,cAAP,KAA0B,UAA9B,EAA0C;AACxC,kBAAI;AACFL,gBAAAA,MAAM,CAACK,cAAP,GAAwB,CAAC,CAACA,cAAc,EAAxC;AACD,eAFD,CAGA,OAAOF,CAAP,EAAU;AACR,uBAAOvB,OAAO,CAACwB,MAAR,CAAe,IAAIzC,YAAJ,CAAiB,sCAAjB,CAAf,CAAP;AACD;AACF,aAPD,MAQK,IAAI0C,cAAc,KAAK,IAAvB,EAA6B;AAChCL,cAAAA,MAAM,CAACK,cAAP,GAAwB,CAAC,CAACA,cAA1B;AACD;;AACDlC,YAAAA,IAAI,GAAGZ,IAAI,CAACY,IAAD,EAAO,gBAAP,CAAX;AAED,WAdD,MAcO,IAAIA,IAAI,CAACmC,OAAL,IACDnC,IAAI,CAACmC,OAAL,CAAaC,WAAb,KAA6BL,SADhC,EAC2C;AAChD,gBAAI/B,IAAI,CAACmC,OAAL,CAAaC,WAAjB,EAA8B;AAC5BP,cAAAA,MAAM,CAACO,WAAP,GAAqB,IAArB;AACD;;AACDpC,YAAAA,IAAI,CAACmC,OAAL,GAAe/C,IAAI,CAACY,IAAI,CAACmC,OAAN,EAAe,aAAf,CAAnB;AACD;;AACD,cAAIX,IAAI,GAAGX,IAAI,CAACW,IAAL,GAAYnC,aAAa,CAACwC,MAAD,CAApC;AACA,iBAAOlC,iBAAiB,CAACG,GAAD,EAAM0B,IAAN,EAAYxB,IAAZ,EAAkB;AAAEyB,YAAAA,eAAe,EAAE;AAAnB,WAAlB,CAAxB;AACD,SAxDD;AATJ;AAmED;AACF;;AAED,SAASY,SAAT,CAAmBvC,GAAnB,EAAwBC,GAAxB,EAA6Ba,GAA7B,EAAkCE,GAAlC,EAAuC;AACrC,MAAIwB,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIC,QAAT,IAAqB3B,GAAG,CAACL,MAAzB,EAAiC;AAC/B,QAAI,CAACJ,MAAM,CAACqC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqC9B,GAAG,CAACL,MAAzC,EAAiDgC,QAAjD,CAAL,EAAiE;AAC/D;AACD;;AAED,QAAI1B,IAAI,GAAGD,GAAG,CAACL,MAAJ,CAAWgC,QAAX,CAAX;;AAEA,QAAIA,QAAQ,KAAK,MAAjB,EAAyB;AACvBA,MAAAA,QAAQ,GAAG1B,IAAI,CAACI,IAAhB;AACD;;AAED,QAAIJ,IAAI,CAAC8B,IAAT,EAAe;AACbL,MAAAA,GAAG,CAACC,QAAD,CAAH,GAAgB1B,IAAhB;AACA;AACD;;AAED,YAAQ0B,QAAR;AACE;AACA;AACA,WAAK,MAAL;AACED,QAAAA,GAAG,CAACM,IAAJ,GAAWlD,SAAS,CAACI,GAAD,EAAMC,GAAN,EAAWe,GAAX,CAApB;AACA;;AAEF;AACE,YAAI+B,EAAE,GAAGlC,OAAO,CAACb,GAAD,EAAMC,GAAN,EAAWa,GAAX,EAAgBC,IAAhB,EAAsBC,GAAtB,CAAhB;;AACA,YAAI+B,EAAJ,EAAQ;AACNP,UAAAA,GAAG,CAACC,QAAD,CAAH,GAAgBM,EAAhB;AACD;;AAXL;AAaD;;AACD,SAAOP,GAAP;AACD,C,CAED;;;AACA,SAASjC,eAAT,CAAyBP,GAAzB,EAA8BC,GAA9B,EAAmCa,GAAnC,EAAwCE,GAAxC,EAA6C;AAC3CF,EAAAA,GAAG,GAAGA,GAAG,IAAIb,GAAb;AACAa,EAAAA,GAAG,GAAGtB,KAAK,CAACsB,GAAD,CAAX;;AAEA,MAAIG,KAAK,CAACC,OAAN,CAAcJ,GAAd,CAAJ,EAAwB;AACtB,QAAIkC,MAAM,GAAG,EAAb;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAR,EAAWC,EAAE,GAAGpC,GAAG,CAACU,MAAzB,EAAiCyB,CAAC,GAAGC,EAArC,EAAyCD,CAAC,EAA1C,EAA8C;AAC5CD,MAAAA,MAAM,CAACG,IAAP,CAAY5C,eAAe,CAACP,GAAD,EAAMC,GAAN,EAAWa,GAAG,CAACmC,CAAD,CAAd,EAAmBjC,GAAnB,CAA3B;AACD;;AACD,WAAOgC,MAAP;AACD;;AAED,MAAII,QAAQ,GAAGtC,GAAG,CAACuC,SAAJ,IAAiB,EAAhC;;AAEA,OAAK,IAAIC,GAAT,IAAgBF,QAAhB,EAA0B;AACxB,QAAI,CAAC/C,MAAM,CAACqC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCQ,QAArC,EAA+CE,GAA/C,CAAL,EAA0D;AACxD;AACD,KAHuB,CAKxB;;;AACA,QAAI7D,QAAQ,CAAC2D,QAAQ,CAACE,GAAD,CAAT,CAAR,IAA2BrC,KAAK,CAACC,OAAN,CAAckC,QAAQ,CAACE,GAAD,CAAtB,CAA/B,EAA6D;AAC3DF,MAAAA,QAAQ,CAACE,GAAD,CAAR,GAAgB/C,eAAe,CAACP,GAAD,EAAMC,GAAN,EAAWmD,QAAQ,CAACE,GAAD,CAAnB,EAA0BtC,GAA1B,CAA/B;AACD;AACF,GAvB0C,CAyB3C;;;AACA,MAAIwB,GAAG,GAAGD,SAAS,CAACvC,GAAD,EAAMC,GAAN,EAAWa,GAAX,EAAgBE,GAAhB,CAAnB;AACAX,EAAAA,MAAM,CAACC,MAAP,CAAc8C,QAAd,EAAwBZ,GAAxB;AAEA1B,EAAAA,GAAG,GAAGxB,IAAI,CAACwB,GAAD,EAAM,WAAN,EAAmB,QAAnB,CAAV;AACAT,EAAAA,MAAM,CAACC,MAAP,CAAcQ,GAAd,EAAmBsC,QAAnB;AACA,SAAOtC,GAAP;AACD","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\nimport { get } from '../http';\nimport { find, omit, toQueryString, clone, isObject } from '../util';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport { TransactionState } from './TransactionState';\nimport { addStateToken } from './util';\nimport { getPollFn } from './poll';\nimport { postToTransaction } from './api';\nimport { IdxStatus } from '../idx/types';\n\ninterface PostToTransactionParams {\n autoPush?: boolean;\n rememberDevice?: boolean;\n updatePhone?: boolean;\n}\n\ntype AuthTransactionFunction = (obj?: any) => Promise<AuthTransaction>;\n\ninterface AuthTransactionFunctions {\n // common\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n // locked_out\n unlock?: AuthTransactionFunction;\n // password\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n // recovery\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n // recovery_challenge\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n // mfa_enroll_activate\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n}\n\nexport class AuthTransaction implements TransactionState, AuthTransactionFunctions {\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n unlock?: AuthTransactionFunction;\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n\n data: TransactionState;\n stateToken?: string;\n sessionToken?: string;\n status: string | IdxStatus;\n user?: Record<string, any>;\n factor?: Record<string, any>;\n factors?: Array<Record<string, any> >;\n policy?: Record<string, any>;\n scopes?: Array<Record<string, any> >;\n target?: Record<string, any>;\n authentication?: Record<string, any>;\n constructor(sdk, res = null) {\n if (res) {\n this.data = res;\n\n if (this.data.interactionHandle) {\n this.status = res.status;\n return;\n }\n\n // Parse response from Authn V1\n Object.assign(this, flattenEmbedded(sdk, res, res, {}));\n delete this.stateToken;\n\n // RECOVERY_CHALLENGE has some responses without _links.\n // Without _links, we emulate cancel to make it intuitive\n // to return to the starting state. We may remove this\n // when OKTA-75434 is resolved\n if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {\n this.cancel = function() {\n return Promise.resolve(new AuthTransaction(sdk));\n };\n }\n }\n }\n}\n\nfunction link2fn(sdk, res, obj, link, ref) {\n if (Array.isArray(link)) {\n return function(name, opts?) {\n if (!name) {\n throw new AuthSdkError('Must provide a link name');\n }\n\n var lk = find(link, {name: name});\n if (!lk) {\n throw new AuthSdkError('No link found for that name');\n }\n\n return link2fn(sdk, res, obj, lk, ref)(opts);\n };\n\n } else if (link.hints &&\n link.hints.allow &&\n link.hints.allow.length === 1) {\n var method = link.hints.allow[0];\n switch (method) {\n\n case 'GET':\n return function() {\n return get(sdk, link.href, { withCredentials: true });\n };\n\n case 'POST':\n // eslint-disable-next-line max-statements,complexity\n return function(opts: TransactionState) {\n if (ref && ref.isPolling) {\n ref.isPolling = false;\n }\n\n var data = addStateToken(res, opts);\n\n if (res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL') {\n // Add factorType and provider\n Object.assign(data, {\n factorType: obj.factorType,\n provider: obj.provider\n });\n }\n\n var params = {} as PostToTransactionParams;\n var autoPush = data.autoPush;\n if (autoPush !== undefined) {\n if (typeof autoPush === 'function') {\n try {\n params.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== null) {\n params.autoPush = !!autoPush;\n }\n data = omit(data, 'autoPush');\n }\n\n var rememberDevice = data.rememberDevice;\n if (rememberDevice !== undefined) {\n if (typeof rememberDevice === 'function') {\n try {\n params.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== null) {\n params.rememberDevice = !!rememberDevice;\n }\n data = omit(data, 'rememberDevice');\n\n } else if (data.profile &&\n data.profile.updatePhone !== undefined) {\n if (data.profile.updatePhone) {\n params.updatePhone = true;\n }\n data.profile = omit(data.profile, 'updatePhone');\n }\n var href = link.href + toQueryString(params);\n return postToTransaction(sdk, href, data, { withCredentials: true });\n };\n }\n }\n}\n\nfunction links2fns(sdk, res, obj, ref) {\n var fns = {} as AuthTransactionFunctions;\n for (var linkName in obj._links) {\n if (!Object.prototype.hasOwnProperty.call(obj._links, linkName)) {\n continue;\n }\n\n var link = obj._links[linkName];\n \n if (linkName === 'next') {\n linkName = link.name;\n }\n\n if (link.type) {\n fns[linkName] = link;\n continue;\n }\n\n switch (linkName) {\n // poll is only found at the transaction\n // level, so we don't need to pass the link\n case 'poll':\n fns.poll = getPollFn(sdk, res, ref);\n break;\n\n default:\n var fn = link2fn(sdk, res, obj, link, ref);\n if (fn) {\n fns[linkName] = fn;\n }\n }\n }\n return fns;\n}\n\n// eslint-disable-next-line complexity\nfunction flattenEmbedded(sdk, res, obj, ref) {\n obj = obj || res;\n obj = clone(obj);\n\n if (Array.isArray(obj)) {\n var objArr = [];\n for (var o = 0, ol = obj.length; o < ol; o++) {\n objArr.push(flattenEmbedded(sdk, res, obj[o], ref));\n }\n return objArr;\n }\n\n var embedded = obj._embedded || {};\n\n for (var key in embedded) {\n if (!Object.prototype.hasOwnProperty.call(embedded, key)) {\n continue;\n }\n\n // Flatten any nested _embedded objects\n if (isObject(embedded[key]) || Array.isArray(embedded[key])) {\n embedded[key] = flattenEmbedded(sdk, res, embedded[key], ref);\n }\n }\n\n // Convert any links on the embedded object\n var fns = links2fns(sdk, res, obj, ref);\n Object.assign(embedded, fns);\n\n obj = omit(obj, '_embedded', '_links');\n Object.assign(obj, embedded);\n return obj;\n}\n"],"file":"AuthTransaction.js"}
|
|
1
|
+
{"version":3,"sources":["../../../lib/tx/AuthTransaction.ts"],"names":["get","find","omit","toQueryString","clone","isObject","AuthSdkError","addStateToken","getPollFn","postToTransaction","AuthTransaction","constructor","sdk","res","data","interactionHandle","status","Object","assign","flattenEmbedded","stateToken","_links","cancel","Promise","resolve","link2fn","obj","link","ref","Array","isArray","name","opts","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","undefined","e","reject","rememberDevice","profile","updatePhone","links2fns","fns","linkName","prototype","hasOwnProperty","call","type","poll","fn","objArr","o","ol","push","embedded","_embedded","key"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\nimport { get } from '../http';\nimport { find, omit, toQueryString, clone, isObject } from '../util';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport { TransactionState } from './TransactionState';\nimport { addStateToken } from './util';\nimport { getPollFn } from './poll';\nimport { postToTransaction } from './api';\nimport { IdxStatus } from '../idx/types';\n\ninterface PostToTransactionParams {\n autoPush?: boolean;\n rememberDevice?: boolean;\n updatePhone?: boolean;\n}\n\ntype AuthTransactionFunction = (obj?: any) => Promise<AuthTransaction>;\n\ninterface AuthTransactionFunctions {\n // common\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n // locked_out\n unlock?: AuthTransactionFunction;\n // password\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n // recovery\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n // recovery_challenge\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n // mfa_enroll_activate\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n}\n\nexport class AuthTransaction implements TransactionState, AuthTransactionFunctions {\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n unlock?: AuthTransactionFunction;\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n\n data: TransactionState;\n stateToken?: string;\n sessionToken?: string;\n status: string | IdxStatus;\n user?: Record<string, any>;\n factor?: Record<string, any>;\n factors?: Array<Record<string, any> >;\n policy?: Record<string, any>;\n scopes?: Array<Record<string, any> >;\n target?: Record<string, any>;\n authentication?: Record<string, any>;\n constructor(sdk, res = null) {\n if (res) {\n this.data = res;\n\n if (this.data.interactionHandle) {\n this.status = res.status;\n return;\n }\n\n // Parse response from Authn V1\n Object.assign(this, flattenEmbedded(sdk, res, res, {}));\n delete this.stateToken;\n\n // RECOVERY_CHALLENGE has some responses without _links.\n // Without _links, we emulate cancel to make it intuitive\n // to return to the starting state. We may remove this\n // when OKTA-75434 is resolved\n if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {\n this.cancel = function() {\n return Promise.resolve(new AuthTransaction(sdk));\n };\n }\n }\n }\n}\n\nfunction link2fn(sdk, res, obj, link, ref) {\n if (Array.isArray(link)) {\n return function(name, opts?) {\n if (!name) {\n throw new AuthSdkError('Must provide a link name');\n }\n\n var lk = find(link, {name: name});\n if (!lk) {\n throw new AuthSdkError('No link found for that name');\n }\n\n return link2fn(sdk, res, obj, lk, ref)(opts);\n };\n\n } else if (link.hints &&\n link.hints.allow &&\n link.hints.allow.length === 1) {\n var method = link.hints.allow[0];\n switch (method) {\n\n case 'GET':\n return function() {\n return get(sdk, link.href, { withCredentials: true });\n };\n\n case 'POST':\n // eslint-disable-next-line max-statements,complexity\n return function(opts: TransactionState) {\n if (ref && ref.isPolling) {\n ref.isPolling = false;\n }\n\n var data = addStateToken(res, opts);\n\n if (res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL') {\n // Add factorType and provider\n Object.assign(data, {\n factorType: obj.factorType,\n provider: obj.provider\n });\n }\n\n var params = {} as PostToTransactionParams;\n var autoPush = data.autoPush;\n if (autoPush !== undefined) {\n if (typeof autoPush === 'function') {\n try {\n params.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== null) {\n params.autoPush = !!autoPush;\n }\n data = omit(data, 'autoPush');\n }\n\n var rememberDevice = data.rememberDevice;\n if (rememberDevice !== undefined) {\n if (typeof rememberDevice === 'function') {\n try {\n params.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== null) {\n params.rememberDevice = !!rememberDevice;\n }\n data = omit(data, 'rememberDevice');\n\n } else if (data.profile &&\n data.profile.updatePhone !== undefined) {\n if (data.profile.updatePhone) {\n params.updatePhone = true;\n }\n data.profile = omit(data.profile, 'updatePhone');\n }\n var href = link.href + toQueryString(params);\n return postToTransaction(sdk, href, data);\n };\n }\n }\n}\n\nfunction links2fns(sdk, res, obj, ref) {\n var fns = {} as AuthTransactionFunctions;\n for (var linkName in obj._links) {\n if (!Object.prototype.hasOwnProperty.call(obj._links, linkName)) {\n continue;\n }\n\n var link = obj._links[linkName];\n \n if (linkName === 'next') {\n linkName = link.name;\n }\n\n if (link.type) {\n fns[linkName] = link;\n continue;\n }\n\n switch (linkName) {\n // poll is only found at the transaction\n // level, so we don't need to pass the link\n case 'poll':\n fns.poll = getPollFn(sdk, res, ref);\n break;\n\n default:\n var fn = link2fn(sdk, res, obj, link, ref);\n if (fn) {\n fns[linkName] = fn;\n }\n }\n }\n return fns;\n}\n\n// eslint-disable-next-line complexity\nfunction flattenEmbedded(sdk, res, obj, ref) {\n obj = obj || res;\n obj = clone(obj);\n\n if (Array.isArray(obj)) {\n var objArr = [];\n for (var o = 0, ol = obj.length; o < ol; o++) {\n objArr.push(flattenEmbedded(sdk, res, obj[o], ref));\n }\n return objArr;\n }\n\n var embedded = obj._embedded || {};\n\n for (var key in embedded) {\n if (!Object.prototype.hasOwnProperty.call(embedded, key)) {\n continue;\n }\n\n // Flatten any nested _embedded objects\n if (isObject(embedded[key]) || Array.isArray(embedded[key])) {\n embedded[key] = flattenEmbedded(sdk, res, embedded[key], ref);\n }\n }\n\n // Convert any links on the embedded object\n var fns = links2fns(sdk, res, obj, ref);\n Object.assign(embedded, fns);\n\n obj = omit(obj, '_embedded', '_links');\n Object.assign(obj, embedded);\n return obj;\n}\n"],"file":"AuthTransaction.js"}
|
package/esm/tx/api.js
CHANGED
|
@@ -75,6 +75,9 @@ function transactionExists(sdk) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
function postToTransaction(sdk, url, args, options) {
|
|
78
|
+
options = Object.assign({
|
|
79
|
+
withCredentials: true
|
|
80
|
+
}, options);
|
|
78
81
|
return post(sdk, url, args, options).then(function (res) {
|
|
79
82
|
return new AuthTransaction(sdk, res);
|
|
80
83
|
});
|
package/esm/tx/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/tx/api.ts"],"names":["post","AuthSdkError","STATE_TOKEN_KEY_NAME","addStateToken","AuthTransaction","transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","Promise","reject","status","then","res","introspect","transactionStep","transactionExists","postToTransaction","url","options"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,IAAT,QAAqB,SAArB;AACA,OAAOC,YAAP,MAAyB,wBAAzB;AACA,SAASC,oBAAT,QAAqC,cAArC;AACA,SAASC,aAAT,QAA8B,QAA9B;AACA,SAASC,eAAT,QAAgC,mBAAhC;;AAEA,SAASC,iBAAT,CAA2BC,GAA3B,EAAgCC,IAAhC,EAAsC;AACpCA,EAAAA,IAAI,GAAGJ,aAAa,CAACG,GAAD,EAAMC,IAAN,CAApB;AACA,SAAOP,IAAI,CAACM,GAAD,EAAMA,GAAG,CAACE,eAAJ,KAAwB,eAA9B,EAA+CD,IAA/C,EAAqD;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAArD,CAAX;AACD;;AAED,SAASC,iBAAT,CAA2BJ,GAA3B,EAAgCC,IAAhC,EAAsC;AACpC,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAjB;;AACA,QAAIS,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAOI,OAAO,CAACC,MAAR,CAAe,IAAIf,YAAJ,CAAiB,0BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOK,GAAG,CAACM,EAAJ,CAAOK,MAAP,CAAcV,IAAd,EACJW,IADI,CACC,UAASC,GAAT,EAAc;AAClB,WAAO,IAAIf,eAAJ,CAAoBE,GAApB,EAAyBa,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAED,SAASC,UAAT,CAAqBd,GAArB,EAA0BC,IAA1B,EAAgC;AAC9B,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAjB;;AACA,QAAIS,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAOI,OAAO,CAACC,MAAR,CAAe,IAAIf,YAAJ,CAAiB,4BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOoB,eAAe,CAACf,GAAD,EAAMC,IAAN,CAAf,CACJW,IADI,CACC,UAAUC,GAAV,EAAe;AACnB,WAAO,IAAIf,eAAJ,CAAoBE,GAApB,EAAyBa,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAED,SAASE,eAAT,CAAyBf,GAAzB,EAA8BC,IAA9B,EAAoC;AAClCA,EAAAA,IAAI,GAAGJ,aAAa,CAACG,GAAD,EAAMC,IAAN,CAApB,CADkC,CAElC;;AACA,SAAOP,IAAI,CAACM,GAAD,EAAMA,GAAG,CAACE,eAAJ,KAAwB,0BAA9B,EAA0DD,IAA1D,EAAgE;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAAhE,CAAX;AACD;;AAED,SAASa,iBAAT,CAA2BhB,GAA3B,EAAgC;AAC9B;AACA,SAAO,CAAC,CAACA,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAT;AACD;;AAED,SAASqB,iBAAT,CAA2BjB,GAA3B,EAAgCkB,GAAhC,EAAqCjB,IAArC,EAA2CkB,OAA3C,EAAqD;
|
|
1
|
+
{"version":3,"sources":["../../../lib/tx/api.ts"],"names":["post","AuthSdkError","STATE_TOKEN_KEY_NAME","addStateToken","AuthTransaction","transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","Promise","reject","status","then","res","introspect","transactionStep","transactionExists","postToTransaction","url","options","Object","assign"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\n/* eslint-disable complexity, max-statements */\nimport { post } from '../http';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport { STATE_TOKEN_KEY_NAME } from '../constants';\nimport { addStateToken } from './util';\nimport { AuthTransaction } from './AuthTransaction';\n\nfunction transactionStatus(sdk, args) {\n args = addStateToken(sdk, args);\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, { withCredentials: true });\n}\n\nfunction resumeTransaction(sdk, args) {\n if (!args || !args.stateToken) {\n var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n if (stateToken) {\n args = {\n stateToken: stateToken\n };\n } else {\n return Promise.reject(new AuthSdkError('No transaction to resume'));\n }\n }\n return sdk.tx.status(args)\n .then(function(res) {\n return new AuthTransaction(sdk, res);\n });\n}\n\nfunction introspect (sdk, args) {\n if (!args || !args.stateToken) {\n var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n if (stateToken) {\n args = {\n stateToken: stateToken\n };\n } else {\n return Promise.reject(new AuthSdkError('No transaction to evaluate'));\n }\n }\n return transactionStep(sdk, args)\n .then(function (res) {\n return new AuthTransaction(sdk, res);\n });\n}\n\nfunction transactionStep(sdk, args) {\n args = addStateToken(sdk, args);\n // v1 pipeline introspect API\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn/introspect', args, { withCredentials: true });\n}\n\nfunction transactionExists(sdk) {\n // We have a cookie state token\n return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n}\n\nfunction postToTransaction(sdk, url, args, options?) {\n options = Object.assign({ withCredentials: true }, options);\n return post(sdk, url, args, options)\n .then(function(res) {\n return new AuthTransaction(sdk, res);\n });\n}\n\nexport {\n transactionStatus,\n resumeTransaction,\n transactionExists,\n postToTransaction,\n introspect,\n};\n"],"file":"api.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/types/Transaction.ts"],"names":["isObjectWithProperties","obj","Object","values","length","isOAuthTransactionMeta","redirectUri","responseType","isPKCETransactionMeta","codeVerifier","isIdxTransactionMeta","interactionHandle","isCustomAuthTransactionMeta","isAllStringValues","find","value","undefined","isTransactionMeta"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"sources":["../../../lib/types/Transaction.ts"],"names":["isObjectWithProperties","obj","Object","values","length","isOAuthTransactionMeta","redirectUri","responseType","isPKCETransactionMeta","codeVerifier","isIdxTransactionMeta","interactionHandle","isCustomAuthTransactionMeta","isAllStringValues","find","value","undefined","isTransactionMeta"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAsBA;AAiCA,SAASA,sBAAT,CAAgCC,GAAhC,EAAqC;AACnC,MAAI,CAACA,GAAD,IAAQ,OAAOA,GAAP,KAAe,QAAvB,IAAmCC,MAAM,CAACC,MAAP,CAAcF,GAAd,EAAmBG,MAAnB,KAA8B,CAArE,EAAwE;AACtE,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;;AAED,OAAO,SAASC,sBAAT,CAAgCJ,GAAhC,EAAuE;AAC5E,MAAI,CAACD,sBAAsB,CAACC,GAAD,CAA3B,EAAkC;AAChC,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAACA,GAAG,CAACK,WAAN,IAAqB,CAAC,CAACL,GAAG,CAACM,YAAlC;AACD;AAED,OAAO,SAASC,qBAAT,CAA+BP,GAA/B,EAAqE;AAC1E,MAAI,CAACI,sBAAsB,CAACJ,GAAD,CAA3B,EAAkC;AAChC,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAAEA,GAAD,CAAaQ,YAAtB;AACD;AAED,OAAO,SAASC,oBAAT,CAA8BT,GAA9B,EAAmE;AACxE,MAAI,CAACO,qBAAqB,CAACP,GAAD,CAA1B,EAAiC;AAC/B,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAAEA,GAAD,CAAaU,iBAAtB;AACD;AAED,OAAO,SAASC,2BAAT,CAAqCX,GAArC,EAAiF;AACtF,MAAI,CAACD,sBAAsB,CAACC,GAAD,CAA3B,EAAkC;AAChC,WAAO,KAAP;AACD;;AACD,MAAMY,iBAAiB,GAAGX,MAAM,CAACC,MAAP,CAAcF,GAAd,EAAmBa,IAAnB,CAAyBC,KAAD,IAAY,OAAOA,KAAP,KAAiB,QAArD,MAAoEC,SAA9F;AACA,SAAOH,iBAAP;AACD;AAED,OAAO,SAASI,iBAAT,CAA2BhB,GAA3B,EAA6D;AAClE,MAAII,sBAAsB,CAACJ,GAAD,CAAtB,IAA+BW,2BAA2B,CAACX,GAAD,CAA9D,EAAqE;AACnE,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport StorageManager from '../StorageManager';\nimport { CustomUrls } from './OktaAuthOptions';\n\nexport interface TransactionManagerOptions {\n storageManager?: StorageManager;\n enableSharedStorage?: boolean; // default true\n legacyWidgetSupport?: boolean; // default true\n saveNonceCookie?: boolean; // default true\n saveStateCookie?: boolean; // default true\n saveParamsCookie?: boolean; // default true\n}\n\nexport interface TransactionMetaOptions {\n pkce?: boolean;\n oauth?: boolean;\n muteWarning?: boolean;\n state?: string;\n}\n\n// formerly known as \"Redirect OAuth Params\"\nexport interface OAuthTransactionMeta {\n issuer: string;\n redirectUri: string;\n state: string;\n nonce: string;\n responseType: string | string [];\n scopes: string[];\n clientId: string;\n urls: CustomUrls;\n ignoreSignature: boolean;\n originalUri?: string;\n}\n\nexport interface PKCETransactionMeta extends OAuthTransactionMeta {\n codeVerifier: string;\n codeChallengeMethod: string;\n codeChallenge: string;\n}\n\nexport interface IdxTransactionMeta extends PKCETransactionMeta {\n interactionHandle?: string;\n remediations?: string[];\n}\n\nexport type CustomAuthTransactionMeta = Record<string, string | undefined>;\n\nexport type TransactionMeta =\n IdxTransactionMeta |\n PKCETransactionMeta |\n OAuthTransactionMeta |\n CustomAuthTransactionMeta;\n\nfunction isObjectWithProperties(obj) {\n if (!obj || typeof obj !== 'object' || Object.values(obj).length === 0) {\n return false;\n }\n return true;\n}\n\nexport function isOAuthTransactionMeta(obj: any): obj is OAuthTransactionMeta {\n if (!isObjectWithProperties(obj)) {\n return false;\n }\n return !!obj.redirectUri || !!obj.responseType;\n}\n\nexport function isPKCETransactionMeta(obj: any): obj is PKCETransactionMeta {\n if (!isOAuthTransactionMeta(obj)) {\n return false;\n }\n return !!(obj as any).codeVerifier;\n}\n\nexport function isIdxTransactionMeta(obj: any): obj is IdxTransactionMeta {\n if (!isPKCETransactionMeta(obj)) {\n return false;\n }\n return !!(obj as any).interactionHandle;\n}\n\nexport function isCustomAuthTransactionMeta(obj: any): obj is CustomAuthTransactionMeta {\n if (!isObjectWithProperties(obj)) {\n return false;\n }\n const isAllStringValues = Object.values(obj).find((value) => (typeof value !== 'string')) === undefined;\n return isAllStringValues;\n}\n\nexport function isTransactionMeta(obj: any): obj is TransactionMeta {\n if (isOAuthTransactionMeta(obj) || isCustomAuthTransactionMeta(obj)) {\n return true;\n }\n return false;\n}\n"],"file":"Transaction.js"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { isTransactionMeta } from '../types';
|
|
2
|
+
var MAX_ENTRY_LIFETIME = 30 * 60 * 1000; // 30 minutes
|
|
3
|
+
|
|
4
|
+
export function pruneSharedStorage(storageManager) {
|
|
5
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
6
|
+
var entries = sharedStorage.getStorage();
|
|
7
|
+
Object.keys(entries).forEach(state => {
|
|
8
|
+
var entry = entries[state];
|
|
9
|
+
var age = Date.now() - entry.dateCreated;
|
|
10
|
+
|
|
11
|
+
if (age > MAX_ENTRY_LIFETIME) {
|
|
12
|
+
delete entries[state];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
sharedStorage.setStorage(entries);
|
|
16
|
+
}
|
|
17
|
+
export function saveTransactionToSharedStorage(storageManager, state, meta) {
|
|
18
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
19
|
+
var entries = sharedStorage.getStorage();
|
|
20
|
+
entries[state] = {
|
|
21
|
+
dateCreated: Date.now(),
|
|
22
|
+
transaction: meta
|
|
23
|
+
};
|
|
24
|
+
sharedStorage.setStorage(entries);
|
|
25
|
+
}
|
|
26
|
+
export function loadTransactionFromSharedStorage(storageManager, state) {
|
|
27
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
28
|
+
var entries = sharedStorage.getStorage();
|
|
29
|
+
var entry = entries[state];
|
|
30
|
+
|
|
31
|
+
if (entry && entry.transaction && isTransactionMeta(entry.transaction)) {
|
|
32
|
+
return entry.transaction;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
export function clearTransactionFromSharedStorage(storageManager, state) {
|
|
38
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
39
|
+
var entries = sharedStorage.getStorage();
|
|
40
|
+
delete entries[state];
|
|
41
|
+
sharedStorage.setStorage(entries);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=sharedStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/util/sharedStorage.ts"],"names":["isTransactionMeta","MAX_ENTRY_LIFETIME","pruneSharedStorage","storageManager","sharedStorage","getSharedTansactionStorage","entries","getStorage","Object","keys","forEach","state","entry","age","Date","now","dateCreated","setStorage","saveTransactionToSharedStorage","meta","transaction","loadTransactionFromSharedStorage","clearTransactionFromSharedStorage"],"mappings":"AAAA,SAASA,iBAAT,QAAmD,UAAnD;AAGA,IAAMC,kBAAkB,GAAG,KAAK,EAAL,GAAU,IAArC,C,CAA2C;;AAE3C,OAAO,SAASC,kBAAT,CAA4BC,cAA5B,EAA4D;AACjE,MAAMC,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACAC,EAAAA,MAAM,CAACC,IAAP,CAAYH,OAAZ,EAAqBI,OAArB,CAA6BC,KAAK,IAAI;AACpC,QAAMC,KAAK,GAAGN,OAAO,CAACK,KAAD,CAArB;AACA,QAAME,GAAG,GAAGC,IAAI,CAACC,GAAL,KAAaH,KAAK,CAACI,WAA/B;;AACA,QAAIH,GAAG,GAAGZ,kBAAV,EAA8B;AAC5B,aAAOK,OAAO,CAACK,KAAD,CAAd;AACD;AACF,GAND;AAOAP,EAAAA,aAAa,CAACa,UAAd,CAAyBX,OAAzB;AACD;AAED,OAAO,SAASY,8BAAT,CAAwCf,cAAxC,EAAwEQ,KAAxE,EAAuFQ,IAAvF,EAA8G;AACnH,MAAMf,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACAD,EAAAA,OAAO,CAACK,KAAD,CAAP,GAAiB;AACfK,IAAAA,WAAW,EAAEF,IAAI,CAACC,GAAL,EADE;AAEfK,IAAAA,WAAW,EAAED;AAFE,GAAjB;AAIAf,EAAAA,aAAa,CAACa,UAAd,CAAyBX,OAAzB;AACD;AAGD,OAAO,SAASe,gCAAT,CAA0ClB,cAA1C,EAA0EQ,KAA1E,EAAyF;AAC9F,MAAMP,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACA,MAAMK,KAAK,GAAGN,OAAO,CAACK,KAAD,CAArB;;AACA,MAAIC,KAAK,IAAIA,KAAK,CAACQ,WAAf,IAA8BpB,iBAAiB,CAACY,KAAK,CAACQ,WAAP,CAAnD,EAAwE;AACtE,WAAOR,KAAK,CAACQ,WAAb;AACD;;AACD,SAAO,IAAP;AACD;AAED,OAAO,SAASE,iCAAT,CAA2CnB,cAA3C,EAA2EQ,KAA3E,EAA0F;AAC/F,MAAMP,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACA,SAAOD,OAAO,CAACK,KAAD,CAAd;AACAP,EAAAA,aAAa,CAACa,UAAd,CAAyBX,OAAzB;AACD","sourcesContent":["import { isTransactionMeta, TransactionMeta } from '../types';\nimport StorageManager from '../StorageManager';\n\nconst MAX_ENTRY_LIFETIME = 30 * 60 * 1000; // 30 minutes\n\nexport function pruneSharedStorage(storageManager: StorageManager) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n Object.keys(entries).forEach(state => {\n const entry = entries[state];\n const age = Date.now() - entry.dateCreated;\n if (age > MAX_ENTRY_LIFETIME) {\n delete entries[state];\n }\n });\n sharedStorage.setStorage(entries);\n}\n\nexport function saveTransactionToSharedStorage(storageManager: StorageManager, state: string, meta: TransactionMeta) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n entries[state] = {\n dateCreated: Date.now(),\n transaction: meta\n };\n sharedStorage.setStorage(entries);\n}\n\n\nexport function loadTransactionFromSharedStorage(storageManager: StorageManager, state: string) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n const entry = entries[state];\n if (entry && entry.transaction && isTransactionMeta(entry.transaction)) {\n return entry.transaction;\n }\n return null;\n}\n\nexport function clearTransactionFromSharedStorage(storageManager: StorageManager, state: string) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n delete entries[state];\n sharedStorage.setStorage(entries);\n}\n"],"file":"sharedStorage.js"}
|
|
@@ -19,12 +19,14 @@ export declare class AuthStateManager {
|
|
|
19
19
|
updateAuthStatePromise: typeof PCancelable;
|
|
20
20
|
canceledTimes: number;
|
|
21
21
|
};
|
|
22
|
-
_authState: AuthState;
|
|
22
|
+
_authState: AuthState | null;
|
|
23
|
+
_prevAuthState: AuthState | null;
|
|
23
24
|
_logOptions: AuthStateLogOptions;
|
|
24
25
|
_lastEventTimestamp: number;
|
|
25
26
|
constructor(sdk: OktaAuth);
|
|
26
27
|
_setLogOptions(options: any): void;
|
|
27
|
-
getAuthState(): AuthState;
|
|
28
|
+
getAuthState(): AuthState | null;
|
|
29
|
+
getPreviousAuthState(): AuthState | null;
|
|
28
30
|
updateAuthState(): Promise<AuthState>;
|
|
29
31
|
subscribe(handler: any): void;
|
|
30
32
|
unsubscribe(handler?: any): void;
|
package/lib/OktaAuth.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ declare class OktaAuth implements SDKInterface, SigninAPI, SignoutAPI {
|
|
|
43
43
|
constructor(args: OktaAuthOptions);
|
|
44
44
|
start(): void;
|
|
45
45
|
stop(): void;
|
|
46
|
+
setHeaders(headers: any): void;
|
|
46
47
|
isInteractionRequired(): boolean;
|
|
47
48
|
isInteractionRequiredError(error: Error): boolean;
|
|
48
49
|
signIn(opts: SigninOptions): Promise<AuthTransaction>;
|
|
@@ -64,10 +65,10 @@ declare class OktaAuth implements SDKInterface, SigninAPI, SignoutAPI {
|
|
|
64
65
|
*/
|
|
65
66
|
storeTokensFromRedirect(): Promise<void>;
|
|
66
67
|
setOriginalUri(originalUri: string): void;
|
|
67
|
-
getOriginalUri(): string;
|
|
68
|
+
getOriginalUri(state?: string): string;
|
|
68
69
|
removeOriginalUri(): void;
|
|
69
70
|
isLoginRedirect(): boolean;
|
|
70
|
-
handleLoginRedirect(tokens?: Tokens): Promise<void>;
|
|
71
|
+
handleLoginRedirect(tokens?: Tokens, originalUri?: string): Promise<void>;
|
|
71
72
|
isPKCE(): boolean;
|
|
72
73
|
hasResponseType(responseType: string): boolean;
|
|
73
74
|
isAuthorizationCodeFlow(): boolean;
|
package/lib/StorageManager.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export default class StorageManager {
|
|
|
18
18
|
getOptionsForSection(sectionName: string, overrideOptions?: StorageOptions): StorageOptions;
|
|
19
19
|
getStorage(options: StorageOptions): SimpleStorage;
|
|
20
20
|
getTransactionStorage(options?: StorageOptions): TransactionStorage;
|
|
21
|
+
getSharedTansactionStorage(options?: StorageOptions): TransactionStorage;
|
|
21
22
|
getIdxResponseStorage(options?: StorageOptions): IdxResponseStorage;
|
|
22
23
|
getTokenStorage(options?: StorageOptions): StorageProvider;
|
|
23
24
|
getHttpCache(options?: StorageOptions): StorageProvider;
|
|
@@ -19,6 +19,7 @@ export default class TransactionManager {
|
|
|
19
19
|
saveNonceCookie: boolean;
|
|
20
20
|
saveStateCookie: boolean;
|
|
21
21
|
saveParamsCookie: boolean;
|
|
22
|
+
enableSharedStorage: boolean;
|
|
22
23
|
constructor(options: TransactionManagerOptions);
|
|
23
24
|
clear(options?: TransactionMetaOptions): void;
|
|
24
25
|
save(meta: TransactionMeta, options?: TransactionMetaOptions): void;
|
package/lib/constants.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare const TOKEN_STORAGE_NAME = "okta-token-storage";
|
|
|
20
20
|
export declare const CACHE_STORAGE_NAME = "okta-cache-storage";
|
|
21
21
|
export declare const PKCE_STORAGE_NAME = "okta-pkce-storage";
|
|
22
22
|
export declare const TRANSACTION_STORAGE_NAME = "okta-transaction-storage";
|
|
23
|
+
export declare const SHARED_TRANSACTION_STORAGE_NAME = "okta-shared-transaction-storage";
|
|
23
24
|
export declare const IDX_RESPONSE_STORAGE_NAME = "okta-idx-response-storage";
|
|
24
25
|
export declare const ACCESS_TOKEN_STORAGE_KEY = "accessToken";
|
|
25
26
|
export declare const ID_TOKEN_STORAGE_KEY = "idToken";
|
|
@@ -24,13 +24,10 @@ export declare class AuthenticatorData extends Remediator {
|
|
|
24
24
|
getNextStep(): {
|
|
25
25
|
options: IdxOption[];
|
|
26
26
|
name: string;
|
|
27
|
-
|
|
27
|
+
authenticator?: import("../../types/idx-js").IdxAuthenticator;
|
|
28
28
|
canSkip?: boolean;
|
|
29
29
|
canResend?: boolean;
|
|
30
|
-
inputs?:
|
|
31
|
-
name: string;
|
|
32
|
-
required?: boolean;
|
|
33
|
-
}[];
|
|
30
|
+
inputs?: import("../../types").Input[];
|
|
34
31
|
};
|
|
35
32
|
protected getAuthenticatorFromValues(): Authenticator;
|
|
36
33
|
protected mapAuthenticatorFromValues(authenticator?: Authenticator): Authenticator;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
import { NextStep, IdxMessage, Authenticator } from '../../types';
|
|
13
|
-
import { IdxRemediation } from '../../types/idx-js';
|
|
13
|
+
import { IdxAuthenticator, IdxRemediation } from '../../types/idx-js';
|
|
14
14
|
export declare type IdxToRemediationValueMap = Record<string, string[]>;
|
|
15
15
|
export interface RemediationValues {
|
|
16
16
|
stateHandle?: string;
|
|
@@ -29,9 +29,6 @@ export declare class Remediator {
|
|
|
29
29
|
getNextStep(): NextStep;
|
|
30
30
|
private getInputs;
|
|
31
31
|
getMessages(): IdxMessage[] | undefined;
|
|
32
|
-
getValuesAfterProceed():
|
|
33
|
-
|
|
34
|
-
stateHandle?: string;
|
|
35
|
-
};
|
|
36
|
-
protected getRelatesToType(): string;
|
|
32
|
+
getValuesAfterProceed(): unknown;
|
|
33
|
+
protected getAuthenticator(): IdxAuthenticator | undefined;
|
|
37
34
|
}
|
|
@@ -28,19 +28,16 @@ export declare class SelectAuthenticator extends Remediator {
|
|
|
28
28
|
value: string;
|
|
29
29
|
}[];
|
|
30
30
|
name: string;
|
|
31
|
-
|
|
31
|
+
authenticator?: import("../../types/idx-js").IdxAuthenticator;
|
|
32
32
|
canSkip?: boolean;
|
|
33
33
|
canResend?: boolean;
|
|
34
|
-
inputs?:
|
|
35
|
-
name: string;
|
|
36
|
-
required?: boolean;
|
|
37
|
-
}[];
|
|
34
|
+
inputs?: import("../../types").Input[];
|
|
38
35
|
};
|
|
39
36
|
mapAuthenticator(remediationValue: IdxRemediationValue): {
|
|
40
37
|
id: any;
|
|
41
38
|
};
|
|
42
39
|
getInputAuthenticator(): {
|
|
43
40
|
name: string;
|
|
44
|
-
|
|
41
|
+
key: string;
|
|
45
42
|
};
|
|
46
43
|
}
|
|
@@ -15,7 +15,6 @@ export interface VerifyAuthenticatorValues extends RemediationValues {
|
|
|
15
15
|
password?: string;
|
|
16
16
|
}
|
|
17
17
|
export declare class VerifyAuthenticator extends Remediator {
|
|
18
|
-
static remediationName: string;
|
|
19
18
|
values: VerifyAuthenticatorValues;
|
|
20
19
|
map: {
|
|
21
20
|
credentials: any[];
|
|
@@ -25,4 +24,5 @@ export declare class VerifyAuthenticator extends Remediator {
|
|
|
25
24
|
passcode: string;
|
|
26
25
|
};
|
|
27
26
|
getInputCredentials(input: any): any;
|
|
27
|
+
getValuesAfterProceed(): VerifyAuthenticatorValues;
|
|
28
28
|
}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
import { Remediator, RemediationValues } from './Base/Remediator';
|
|
13
|
-
import { Authenticator } from '../types';
|
|
14
13
|
import { IdxRemediation } from '../types/idx-js';
|
|
15
14
|
export interface IdentifyValues extends RemediationValues {
|
|
16
15
|
username?: string;
|
|
@@ -29,8 +28,5 @@ export declare class Identify extends Remediator {
|
|
|
29
28
|
passcode: string;
|
|
30
29
|
};
|
|
31
30
|
getInputCredentials(input: any): any;
|
|
32
|
-
getValuesAfterProceed():
|
|
33
|
-
authenticators: Authenticator[];
|
|
34
|
-
stateHandle?: string;
|
|
35
|
-
};
|
|
31
|
+
getValuesAfterProceed(): unknown;
|
|
36
32
|
}
|
package/lib/idx/types/index.d.ts
CHANGED
|
@@ -12,26 +12,36 @@
|
|
|
12
12
|
import { InteractOptions } from '../interact';
|
|
13
13
|
import { APIError, Tokens } from '../../types';
|
|
14
14
|
import { IdxTransactionMeta } from '../../types/Transaction';
|
|
15
|
-
import { IdxMessage, IdxOption } from './idx-js';
|
|
15
|
+
import { IdxAuthenticator, IdxMessage, IdxOption } from './idx-js';
|
|
16
16
|
export { IdxMessage } from './idx-js';
|
|
17
17
|
export { AuthenticationOptions } from '../authenticate';
|
|
18
18
|
export { RegistrationOptions } from '../register';
|
|
19
19
|
export { PasswordRecoveryOptions } from '../recoverPassword';
|
|
20
20
|
export { CancelOptions } from '../cancel';
|
|
21
21
|
export declare enum IdxStatus {
|
|
22
|
-
SUCCESS =
|
|
23
|
-
PENDING =
|
|
24
|
-
FAILURE =
|
|
25
|
-
TERMINAL =
|
|
26
|
-
CANCELED =
|
|
22
|
+
SUCCESS = "SUCCESS",
|
|
23
|
+
PENDING = "PENDING",
|
|
24
|
+
FAILURE = "FAILURE",
|
|
25
|
+
TERMINAL = "TERMINAL",
|
|
26
|
+
CANCELED = "CANCELED"
|
|
27
27
|
}
|
|
28
|
-
declare
|
|
28
|
+
export declare enum AuthenticatorKey {
|
|
29
|
+
OKTA_PASSWORD = "okta_password",
|
|
30
|
+
OKTA_EMAIL = "okta_email",
|
|
31
|
+
OKTA_VERIFIER = "okta_verifier",
|
|
32
|
+
PHONE_NUMBER = "phone_number",
|
|
33
|
+
GOOGLE_AUTHENTICATOR = "google_otp"
|
|
34
|
+
}
|
|
35
|
+
export declare type Input = {
|
|
29
36
|
name: string;
|
|
37
|
+
label?: string;
|
|
38
|
+
value?: string;
|
|
39
|
+
secret?: boolean;
|
|
30
40
|
required?: boolean;
|
|
31
41
|
};
|
|
32
42
|
export declare type NextStep = {
|
|
33
43
|
name: string;
|
|
34
|
-
|
|
44
|
+
authenticator?: IdxAuthenticator;
|
|
35
45
|
canSkip?: boolean;
|
|
36
46
|
canResend?: boolean;
|
|
37
47
|
inputs?: Input[];
|
|
@@ -54,7 +64,7 @@ export interface IdxTransaction {
|
|
|
54
64
|
}
|
|
55
65
|
export declare type IdxOptions = InteractOptions;
|
|
56
66
|
export declare type Authenticator = {
|
|
57
|
-
|
|
67
|
+
key: string;
|
|
58
68
|
methodType?: string;
|
|
59
69
|
phoneNumber?: string;
|
|
60
70
|
};
|
package/lib/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
|
+
import * as crypto from './crypto';
|
|
13
14
|
export { default as OktaAuth } from './OktaAuth';
|
|
14
15
|
export * from './constants';
|
|
15
16
|
export * from './types';
|
|
@@ -21,4 +22,4 @@ export * from './TransactionManager';
|
|
|
21
22
|
export * from './TokenManager';
|
|
22
23
|
export * from './AuthStateManager';
|
|
23
24
|
export * from './util';
|
|
24
|
-
export
|
|
25
|
+
export { crypto };
|
package/lib/oidc/getToken.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { OktaAuth, TokenParams } from '../types';
|
|
2
|
-
export declare function getToken(sdk: OktaAuth, options: TokenParams): Promise<import("../types").TokenResponse>;
|
|
1
|
+
import { OktaAuth, TokenParams, PopupParams } from '../types';
|
|
2
|
+
export declare function getToken(sdk: OktaAuth, options: TokenParams & PopupParams): Promise<import("../types").TokenResponse>;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import { ParseFromUrlOptions, TokenResponse } from '../types';
|
|
1
|
+
import { ParseFromUrlOptions, TokenResponse, OAuthResponse } from '../types';
|
|
2
|
+
export declare function getResponseMode(sdk: any): 'query' | 'fragment';
|
|
3
|
+
export declare function parseOAuthResponseFromUrl(sdk: any, options: string | ParseFromUrlOptions): OAuthResponse;
|
|
4
|
+
export declare function cleanOAuthResponseFromUrl(sdk: any, options: ParseFromUrlOptions): void;
|
|
2
5
|
export declare function parseFromUrl(sdk: any, options: string | ParseFromUrlOptions): Promise<TokenResponse>;
|
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
-
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
-
*
|
|
5
|
-
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
-
*
|
|
10
|
-
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
1
|
import { TokenParams, Tokens } from '../types';
|
|
14
2
|
export declare function renewTokens(sdk: any, options: TokenParams): Promise<Tokens>;
|
package/lib/types/AuthState.d.ts
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
import { StorageManagerOptions, StorageUtil } from './Storage';
|
|
13
13
|
import { CookieOptions } from './Cookies';
|
|
14
14
|
import { HttpRequestClient } from './http';
|
|
15
|
-
import { OktaAuth } from './';
|
|
16
15
|
import { AuthState } from './AuthState';
|
|
17
16
|
import { TransactionManagerOptions } from './Transaction';
|
|
18
17
|
import { SimpleStorage } from './Storage';
|
|
18
|
+
import OktaAuth from '../OktaAuth';
|
|
19
19
|
export interface TokenManagerOptions {
|
|
20
20
|
autoRenew?: boolean;
|
|
21
21
|
autoRemove?: boolean;
|
|
@@ -48,6 +48,7 @@ export interface OktaAuthOptions extends CustomUrls {
|
|
|
48
48
|
scopes?: string[];
|
|
49
49
|
state?: string;
|
|
50
50
|
ignoreSignature?: boolean;
|
|
51
|
+
ignoreLifetime?: boolean;
|
|
51
52
|
tokenManager?: TokenManagerOptions;
|
|
52
53
|
postLogoutRedirectUri?: string;
|
|
53
54
|
storageUtil?: StorageUtil;
|
package/lib/types/Storage.d.ts
CHANGED
|
@@ -68,6 +68,9 @@ export interface BrowserStorageUtil extends StorageUtil {
|
|
|
68
68
|
getCookieStorage(options?: StorageOptions): CookieStorage;
|
|
69
69
|
testStorage(storage: any): boolean;
|
|
70
70
|
storage: Cookies;
|
|
71
|
+
inMemoryStore: {
|
|
72
|
+
string?: string;
|
|
73
|
+
};
|
|
71
74
|
getHttpCache(options?: StorageOptions): StorageProvider;
|
|
72
75
|
getPKCEStorage(options?: StorageOptions): PKCEStorage;
|
|
73
76
|
}
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
import StorageManager from '../StorageManager';
|
|
13
13
|
import { CustomUrls } from './OktaAuthOptions';
|
|
14
14
|
export interface TransactionManagerOptions {
|
|
15
|
-
storageManager
|
|
15
|
+
storageManager?: StorageManager;
|
|
16
|
+
enableSharedStorage?: boolean;
|
|
16
17
|
legacyWidgetSupport?: boolean;
|
|
17
18
|
saveNonceCookie?: boolean;
|
|
18
19
|
saveStateCookie?: boolean;
|
|
@@ -21,6 +22,8 @@ export interface TransactionManagerOptions {
|
|
|
21
22
|
export interface TransactionMetaOptions {
|
|
22
23
|
pkce?: boolean;
|
|
23
24
|
oauth?: boolean;
|
|
25
|
+
muteWarning?: boolean;
|
|
26
|
+
state?: string;
|
|
24
27
|
}
|
|
25
28
|
export interface OAuthTransactionMeta {
|
|
26
29
|
issuer: string;
|
|
@@ -32,6 +35,7 @@ export interface OAuthTransactionMeta {
|
|
|
32
35
|
clientId: string;
|
|
33
36
|
urls: CustomUrls;
|
|
34
37
|
ignoreSignature: boolean;
|
|
38
|
+
originalUri?: string;
|
|
35
39
|
}
|
|
36
40
|
export interface PKCETransactionMeta extends OAuthTransactionMeta {
|
|
37
41
|
codeVerifier: string;
|