@okta/okta-auth-js 6.0.0 → 6.1.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.
Files changed (344) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +5 -4
  3. package/cjs/AuthStateManager.js +9 -2
  4. package/cjs/AuthStateManager.js.map +1 -1
  5. package/cjs/OktaAuth.js +67 -27
  6. package/cjs/OktaAuth.js.map +1 -1
  7. package/cjs/OktaUserAgent.js +2 -2
  8. package/cjs/PromiseQueue.js +5 -1
  9. package/cjs/PromiseQueue.js.map +1 -1
  10. package/cjs/SavedObject.js +4 -2
  11. package/cjs/SavedObject.js.map +1 -1
  12. package/cjs/StorageManager.js +13 -8
  13. package/cjs/StorageManager.js.map +1 -1
  14. package/cjs/TokenManager.js +29 -19
  15. package/cjs/TokenManager.js.map +1 -1
  16. package/cjs/TransactionManager.js +9 -3
  17. package/cjs/TransactionManager.js.map +1 -1
  18. package/cjs/browser/browserStorage.js +18 -9
  19. package/cjs/browser/browserStorage.js.map +1 -1
  20. package/cjs/browser/fingerprint.js +9 -3
  21. package/cjs/browser/fingerprint.js.map +1 -1
  22. package/cjs/builderUtil.js +4 -2
  23. package/cjs/builderUtil.js.map +1 -1
  24. package/cjs/clock.js +5 -1
  25. package/cjs/clock.js.map +1 -1
  26. package/cjs/crypto/base64.js +18 -0
  27. package/cjs/crypto/base64.js.map +1 -1
  28. package/cjs/crypto/index.js +6 -4
  29. package/cjs/crypto/index.js.map +1 -1
  30. package/cjs/crypto/oidcHash.js +5 -1
  31. package/cjs/crypto/oidcHash.js.map +1 -1
  32. package/cjs/crypto/webauthn.js +101 -0
  33. package/cjs/crypto/webauthn.js.map +1 -0
  34. package/cjs/crypto/webcrypto.js +3 -1
  35. package/cjs/crypto/webcrypto.js.map +1 -1
  36. package/cjs/errors/AuthApiError.js +1 -1
  37. package/cjs/errors/AuthPollStopError.js +1 -1
  38. package/cjs/errors/AuthSdkError.js +1 -1
  39. package/cjs/errors/CustomError.js +5 -1
  40. package/cjs/errors/CustomError.js.map +1 -1
  41. package/cjs/errors/OAuthError.js +1 -1
  42. package/cjs/errors/index.js +1 -1
  43. package/cjs/fetch/fetchRequest.js +18 -6
  44. package/cjs/fetch/fetchRequest.js.map +1 -1
  45. package/cjs/http/headers.js.map +1 -1
  46. package/cjs/http/index.js +4 -2
  47. package/cjs/http/index.js.map +1 -1
  48. package/cjs/http/request.js +9 -5
  49. package/cjs/http/request.js.map +1 -1
  50. package/cjs/idx/authenticate.js.map +1 -1
  51. package/cjs/idx/authenticator/Authenticator.js.map +1 -1
  52. package/cjs/idx/authenticator/OktaPassword.js.map +1 -1
  53. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +1 -1
  54. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
  55. package/cjs/idx/authenticator/SecurityQuestionVerification.js +1 -1
  56. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
  57. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +1 -1
  58. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -1
  59. package/cjs/idx/authenticator/WebauthnEnrollment.js +46 -0
  60. package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -0
  61. package/cjs/idx/authenticator/WebauthnVerification.js +55 -0
  62. package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -0
  63. package/cjs/idx/authenticator/getAuthenticator.js +13 -1
  64. package/cjs/idx/authenticator/getAuthenticator.js.map +1 -1
  65. package/cjs/idx/authenticator/index.js +34 -6
  66. package/cjs/idx/authenticator/index.js.map +1 -1
  67. package/cjs/idx/cancel.js.map +1 -1
  68. package/cjs/idx/emailVerify.js +1 -1
  69. package/cjs/idx/emailVerify.js.map +1 -1
  70. package/cjs/idx/flow/AccountUnlockFlow.js +30 -0
  71. package/cjs/idx/flow/AccountUnlockFlow.js.map +1 -0
  72. package/cjs/idx/flow/FlowSpecification.js +8 -0
  73. package/cjs/idx/flow/FlowSpecification.js.map +1 -1
  74. package/cjs/idx/flow/PasswordRecoveryFlow.js +4 -1
  75. package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -1
  76. package/cjs/idx/flow/index.js +20 -5
  77. package/cjs/idx/flow/index.js.map +1 -1
  78. package/cjs/idx/handleInteractionCodeRedirect.js +5 -1
  79. package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
  80. package/cjs/idx/headers.js +21 -5
  81. package/cjs/idx/headers.js.map +1 -1
  82. package/cjs/idx/idx-js/client.js +91 -0
  83. package/cjs/idx/idx-js/client.js.map +1 -0
  84. package/cjs/idx/idx-js/index.js +162 -0
  85. package/cjs/idx/idx-js/index.js.map +1 -0
  86. package/cjs/idx/idx-js/interact.js +83 -0
  87. package/cjs/idx/idx-js/interact.js.map +1 -0
  88. package/cjs/idx/idx-js/introspect.js +58 -0
  89. package/cjs/idx/idx-js/introspect.js.map +1 -0
  90. package/cjs/idx/idx-js/parsers.js +41 -0
  91. package/cjs/idx/idx-js/parsers.js.map +1 -0
  92. package/cjs/idx/idx-js/util.js +34 -0
  93. package/cjs/idx/idx-js/util.js.map +1 -0
  94. package/cjs/idx/idx-js/v1/actionParser.js +90 -0
  95. package/cjs/idx/idx-js/v1/actionParser.js.map +1 -0
  96. package/cjs/idx/idx-js/v1/generateIdxAction.js +117 -0
  97. package/cjs/idx/idx-js/v1/generateIdxAction.js.map +1 -0
  98. package/cjs/idx/idx-js/v1/idxResponseParser.js +137 -0
  99. package/cjs/idx/idx-js/v1/idxResponseParser.js.map +1 -0
  100. package/cjs/idx/idx-js/v1/makeIdxState.js +64 -0
  101. package/cjs/idx/idx-js/v1/makeIdxState.js.map +1 -0
  102. package/cjs/idx/idx-js/v1/parsers.js +24 -0
  103. package/cjs/idx/idx-js/v1/parsers.js.map +1 -0
  104. package/cjs/idx/idx-js/v1/remediationParser.js +32 -0
  105. package/cjs/idx/idx-js/v1/remediationParser.js.map +1 -0
  106. package/cjs/idx/index.js +120 -121
  107. package/cjs/idx/index.js.map +1 -1
  108. package/cjs/idx/interact.js +9 -4
  109. package/cjs/idx/interact.js.map +1 -1
  110. package/cjs/idx/introspect.js +6 -6
  111. package/cjs/idx/introspect.js.map +1 -1
  112. package/cjs/idx/poll.js +13 -3
  113. package/cjs/idx/poll.js.map +1 -1
  114. package/cjs/idx/proceed.js.map +1 -1
  115. package/cjs/idx/recoverPassword.js.map +1 -1
  116. package/cjs/idx/register.js +5 -1
  117. package/cjs/idx/register.js.map +1 -1
  118. package/cjs/idx/remediate.js +60 -29
  119. package/cjs/idx/remediate.js.map +1 -1
  120. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +10 -4
  121. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  122. package/cjs/idx/remediators/AuthenticatorVerificationData.js +10 -6
  123. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  124. package/cjs/idx/remediators/Base/AuthenticatorData.js +28 -12
  125. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  126. package/cjs/idx/remediators/Base/Remediator.js +65 -31
  127. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  128. package/cjs/idx/remediators/Base/SelectAuthenticator.js +42 -27
  129. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  130. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +16 -4
  131. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  132. package/cjs/idx/remediators/ChallengeAuthenticator.js +2 -2
  133. package/cjs/idx/remediators/ChallengePoll.js +2 -2
  134. package/cjs/idx/remediators/EnrollAuthenticator.js +2 -2
  135. package/cjs/idx/remediators/EnrollPoll.js +16 -6
  136. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  137. package/cjs/idx/remediators/EnrollProfile.js +20 -8
  138. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  139. package/cjs/idx/remediators/EnrollmentChannelData.js +25 -9
  140. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  141. package/cjs/idx/remediators/Identify.js +5 -3
  142. package/cjs/idx/remediators/Identify.js.map +1 -1
  143. package/cjs/idx/remediators/ReEnrollAuthenticator.js +5 -3
  144. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  145. package/cjs/idx/remediators/RedirectIdp.js +2 -2
  146. package/cjs/idx/remediators/ResetAuthenticator.js +2 -2
  147. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +6 -4
  148. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  149. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js +2 -2
  150. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js +72 -0
  151. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -0
  152. package/cjs/idx/remediators/SelectEnrollProfile.js +2 -2
  153. package/cjs/idx/remediators/SelectEnrollmentChannel.js +22 -10
  154. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  155. package/cjs/idx/remediators/Skip.js +5 -3
  156. package/cjs/idx/remediators/Skip.js.map +1 -1
  157. package/cjs/idx/remediators/index.js +33 -18
  158. package/cjs/idx/remediators/index.js.map +1 -1
  159. package/cjs/idx/remediators/util.js +13 -3
  160. package/cjs/idx/remediators/util.js.map +1 -1
  161. package/cjs/idx/run.js +30 -6
  162. package/cjs/idx/run.js.map +1 -1
  163. package/cjs/idx/startTransaction.js.map +1 -1
  164. package/cjs/idx/transactionMeta.js.map +1 -1
  165. package/cjs/idx/types/idx-js.js.map +1 -1
  166. package/cjs/idx/types/index.js +45 -9
  167. package/cjs/idx/types/index.js.map +1 -1
  168. package/cjs/idx/unlockAccount.js +48 -0
  169. package/cjs/idx/unlockAccount.js.map +1 -0
  170. package/cjs/index.js +20 -14
  171. package/cjs/index.js.map +1 -1
  172. package/cjs/oidc/endpoints/authorize.js +8 -2
  173. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  174. package/cjs/oidc/endpoints/index.js +5 -3
  175. package/cjs/oidc/endpoints/index.js.map +1 -1
  176. package/cjs/oidc/endpoints/token.js +15 -3
  177. package/cjs/oidc/endpoints/token.js.map +1 -1
  178. package/cjs/oidc/endpoints/well-known.js +7 -3
  179. package/cjs/oidc/endpoints/well-known.js.map +1 -1
  180. package/cjs/oidc/exchangeCodeForTokens.js +10 -2
  181. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  182. package/cjs/oidc/getToken.js +9 -5
  183. package/cjs/oidc/getToken.js.map +1 -1
  184. package/cjs/oidc/getUserInfo.js +7 -3
  185. package/cjs/oidc/getUserInfo.js.map +1 -1
  186. package/cjs/oidc/getWithPopup.js +8 -2
  187. package/cjs/oidc/getWithPopup.js.map +1 -1
  188. package/cjs/oidc/getWithRedirect.js +5 -1
  189. package/cjs/oidc/getWithRedirect.js.map +1 -1
  190. package/cjs/oidc/getWithoutPrompt.js +8 -2
  191. package/cjs/oidc/getWithoutPrompt.js.map +1 -1
  192. package/cjs/oidc/handleOAuthResponse.js +9 -3
  193. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  194. package/cjs/oidc/index.js +4 -2
  195. package/cjs/oidc/index.js.map +1 -1
  196. package/cjs/oidc/parseFromUrl.js +9 -3
  197. package/cjs/oidc/parseFromUrl.js.map +1 -1
  198. package/cjs/oidc/renewToken.js.map +1 -1
  199. package/cjs/oidc/renewTokens.js +5 -1
  200. package/cjs/oidc/renewTokens.js.map +1 -1
  201. package/cjs/oidc/renewTokensWithRefresh.js +5 -1
  202. package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
  203. package/cjs/oidc/revokeToken.js +7 -3
  204. package/cjs/oidc/revokeToken.js.map +1 -1
  205. package/cjs/oidc/util/browser.js +5 -1
  206. package/cjs/oidc/util/browser.js.map +1 -1
  207. package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
  208. package/cjs/oidc/util/errors.js.map +1 -1
  209. package/cjs/oidc/util/index.js +14 -12
  210. package/cjs/oidc/util/index.js.map +1 -1
  211. package/cjs/oidc/util/loginRedirect.js +5 -1
  212. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  213. package/cjs/oidc/util/oauth.js +4 -2
  214. package/cjs/oidc/util/oauth.js.map +1 -1
  215. package/cjs/oidc/util/oauthMeta.js.map +1 -1
  216. package/cjs/oidc/util/pkce.js +11 -3
  217. package/cjs/oidc/util/pkce.js.map +1 -1
  218. package/cjs/oidc/util/prepareTokenParams.js +7 -5
  219. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  220. package/cjs/oidc/util/validateClaims.js +1 -1
  221. package/cjs/oidc/util/validateClaims.js.map +1 -1
  222. package/cjs/oidc/verifyToken.js +11 -3
  223. package/cjs/oidc/verifyToken.js.map +1 -1
  224. package/cjs/options.js +6 -4
  225. package/cjs/options.js.map +1 -1
  226. package/cjs/server/serverStorage.js +1 -0
  227. package/cjs/server/serverStorage.js.map +1 -1
  228. package/cjs/tx/AuthTransaction.js +15 -9
  229. package/cjs/tx/AuthTransaction.js.map +1 -1
  230. package/cjs/tx/api.js +8 -4
  231. package/cjs/tx/api.js.map +1 -1
  232. package/cjs/tx/index.js +7 -5
  233. package/cjs/tx/index.js.map +1 -1
  234. package/cjs/tx/poll.js +6 -4
  235. package/cjs/tx/poll.js.map +1 -1
  236. package/cjs/tx/util.js +5 -1
  237. package/cjs/tx/util.js.map +1 -1
  238. package/cjs/types/Transaction.js +10 -2
  239. package/cjs/types/Transaction.js.map +1 -1
  240. package/cjs/types/index.js +16 -14
  241. package/cjs/types/index.js.map +1 -1
  242. package/cjs/util/index.js +7 -5
  243. package/cjs/util/index.js.map +1 -1
  244. package/cjs/util/misc.js +5 -1
  245. package/cjs/util/misc.js.map +1 -1
  246. package/cjs/util/object.js +16 -6
  247. package/cjs/util/object.js.map +1 -1
  248. package/cjs/util/sharedStorage.js +5 -1
  249. package/cjs/util/sharedStorage.js.map +1 -1
  250. package/dist/okta-auth-js.min.js +1 -1
  251. package/dist/okta-auth-js.min.js.LICENSE.txt +0 -12
  252. package/dist/okta-auth-js.min.js.map +1 -1
  253. package/dist/okta-auth-js.polyfill.js +1 -1
  254. package/dist/okta-auth-js.polyfill.js.map +1 -1
  255. package/dist/okta-auth-js.umd.js +1 -1
  256. package/dist/okta-auth-js.umd.js.LICENSE.txt +0 -12
  257. package/dist/okta-auth-js.umd.js.map +1 -1
  258. package/esm/index.js +1601 -377
  259. package/esm/index.js.map +1 -1
  260. package/lib/OktaAuth.d.ts +6 -3
  261. package/lib/StorageManager.d.ts +1 -1
  262. package/lib/TokenManager.d.ts +2 -2
  263. package/lib/TransactionManager.d.ts +1 -1
  264. package/lib/browser/fingerprint.d.ts +2 -3
  265. package/lib/crypto/base64.d.ts +2 -0
  266. package/lib/crypto/webauthn.d.ts +25 -0
  267. package/lib/http/headers.d.ts +2 -2
  268. package/lib/http/request.d.ts +4 -4
  269. package/lib/idx/authenticate.d.ts +2 -2
  270. package/lib/idx/authenticator/Authenticator.d.ts +4 -5
  271. package/lib/idx/authenticator/OktaPassword.d.ts +7 -9
  272. package/lib/idx/authenticator/SecurityQuestionEnrollment.d.ts +9 -8
  273. package/lib/idx/authenticator/SecurityQuestionVerification.d.ts +7 -7
  274. package/lib/idx/authenticator/VerificationCodeAuthenticator.d.ts +6 -2
  275. package/lib/idx/authenticator/WebauthnEnrollment.d.ts +16 -0
  276. package/lib/idx/authenticator/WebauthnVerification.d.ts +17 -0
  277. package/lib/idx/authenticator/getAuthenticator.d.ts +1 -1
  278. package/lib/idx/authenticator/index.d.ts +9 -0
  279. package/lib/idx/cancel.d.ts +2 -2
  280. package/lib/idx/emailVerify.d.ts +2 -2
  281. package/lib/idx/flow/AccountUnlockFlow.d.ts +13 -0
  282. package/lib/idx/flow/FlowSpecification.d.ts +2 -2
  283. package/lib/idx/flow/index.d.ts +1 -0
  284. package/lib/idx/headers.d.ts +3 -2
  285. package/lib/idx/idx-js/client.d.ts +36 -0
  286. package/lib/idx/idx-js/index.d.ts +51 -0
  287. package/lib/idx/idx-js/interact.d.ts +25 -0
  288. package/lib/idx/idx-js/introspect.d.ts +20 -0
  289. package/lib/idx/idx-js/parsers.d.ts +15 -0
  290. package/lib/idx/idx-js/util.d.ts +12 -0
  291. package/lib/idx/idx-js/v1/actionParser.d.ts +16 -0
  292. package/lib/idx/idx-js/v1/generateIdxAction.d.ts +13 -0
  293. package/lib/idx/idx-js/v1/idxResponseParser.d.ts +20 -0
  294. package/lib/idx/idx-js/v1/makeIdxState.d.ts +13 -0
  295. package/lib/idx/idx-js/v1/parsers.d.ts +16 -0
  296. package/lib/idx/idx-js/v1/remediationParser.d.ts +12 -0
  297. package/lib/idx/index.d.ts +12 -11
  298. package/lib/idx/interact.d.ts +3 -2
  299. package/lib/idx/introspect.d.ts +2 -2
  300. package/lib/idx/poll.d.ts +2 -2
  301. package/lib/idx/proceed.d.ts +5 -4
  302. package/lib/idx/recoverPassword.d.ts +2 -2
  303. package/lib/idx/register.d.ts +2 -2
  304. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +2 -1
  305. package/lib/idx/remediators/Base/Remediator.d.ts +1 -1
  306. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +3 -0
  307. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +7 -12
  308. package/lib/idx/remediators/EnrollmentChannelData.d.ts +1 -0
  309. package/lib/idx/remediators/SelectAuthenticatorUnlockAccount.d.ts +38 -0
  310. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +1 -0
  311. package/lib/idx/remediators/index.d.ts +1 -0
  312. package/lib/idx/run.d.ts +2 -2
  313. package/lib/idx/startTransaction.d.ts +2 -2
  314. package/lib/idx/transactionMeta.d.ts +7 -7
  315. package/lib/idx/types/FlowIdentifier.d.ts +1 -1
  316. package/lib/idx/types/idx-js.d.ts +36 -0
  317. package/lib/idx/types/index.d.ts +21 -5
  318. package/lib/idx/unlockAccount.d.ts +15 -0
  319. package/lib/oidc/endpoints/well-known.d.ts +3 -3
  320. package/lib/oidc/exchangeCodeForTokens.d.ts +2 -2
  321. package/lib/oidc/getToken.d.ts +2 -2
  322. package/lib/oidc/getWithPopup.d.ts +2 -2
  323. package/lib/oidc/getWithRedirect.d.ts +2 -2
  324. package/lib/oidc/getWithoutPrompt.d.ts +2 -2
  325. package/lib/oidc/handleOAuthResponse.d.ts +2 -2
  326. package/lib/oidc/renewToken.d.ts +2 -2
  327. package/lib/oidc/renewTokensWithRefresh.d.ts +2 -2
  328. package/lib/oidc/revokeToken.d.ts +2 -2
  329. package/lib/oidc/util/browser.d.ts +2 -2
  330. package/lib/oidc/util/defaultTokenParams.d.ts +2 -2
  331. package/lib/oidc/util/errors.d.ts +2 -2
  332. package/lib/oidc/util/loginRedirect.d.ts +4 -4
  333. package/lib/oidc/util/oauth.d.ts +4 -4
  334. package/lib/oidc/util/oauthMeta.d.ts +2 -2
  335. package/lib/oidc/util/prepareTokenParams.d.ts +5 -5
  336. package/lib/oidc/util/validateClaims.d.ts +2 -2
  337. package/lib/oidc/verifyToken.d.ts +2 -2
  338. package/lib/types/OktaAuthOptions.d.ts +1 -2
  339. package/lib/types/Transaction.d.ts +2 -10
  340. package/lib/types/api.d.ts +17 -5
  341. package/lib/types/index.d.ts +0 -1
  342. package/lib/util/sharedStorage.d.ts +1 -1
  343. package/package.json +10 -7
  344. package/polyfill/index.js +1 -0
@@ -1,7 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
4
+
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+
7
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
8
+
3
9
  exports.verifyToken = verifyToken;
4
10
 
11
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
12
+
5
13
  var _wellKnown = require("./endpoints/well-known");
6
14
 
7
15
  var _util = require("./util");
@@ -12,9 +20,9 @@ var _decodeToken = require("./decodeToken");
12
20
 
13
21
  var sdkCrypto = _interopRequireWildcard(require("../crypto"));
14
22
 
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
24
 
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
26
 
19
27
  /* eslint-disable max-len */
20
28
 
@@ -46,7 +54,7 @@ async function verifyToken(sdk, token, validationParams) {
46
54
  const {
47
55
  issuer
48
56
  } = await (0, _wellKnown.getWellKnown)(sdk, configuredIssuer);
49
- var validationOptions = Object.assign({
57
+ var validationOptions = (0, _assign.default)({
50
58
  // base options, can be overridden by params
51
59
  clientId: sdk.options.clientId,
52
60
  ignoreSignature: sdk.options.ignoreSignature
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/oidc/verifyToken.ts"],"names":["verifyToken","sdk","token","validationParams","idToken","AuthSdkError","jwt","configuredIssuer","issuer","options","validationOptions","Object","assign","clientId","ignoreSignature","payload","features","isTokenVerifySupported","key","header","kid","valid","sdkCrypto","accessToken","claims","at_hash","hash","getOidcHash"],"mappings":";;;;AAcA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAnBA;;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACO,eAAeA,WAAf,CAA2BC,GAA3B,EAA0CC,KAA1C,EAA0DC,gBAA1D,EAAiH;AACtH,MAAI,CAACD,KAAD,IAAU,CAACA,KAAK,CAACE,OAArB,EAA8B;AAC5B,UAAM,IAAIC,oBAAJ,CAAiB,+BAAjB,CAAN;AACD,GAHqH,CAKtH;;;AACA,MAAIC,GAAG,GAAG,8BAAYJ,KAAK,CAACE,OAAlB,CAAV,CANsH,CAQtH;AACA;;AACA,QAAMG,gBAAgB,GAAG,CAAAJ,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEK,MAAlB,KAA4BP,GAAG,CAACQ,OAAJ,CAAYD,MAAjE;AACA,QAAM;AAAEA,IAAAA;AAAF,MAAa,MAAM,6BAAaP,GAAb,EAAkBM,gBAAlB,CAAzB;AAEA,MAAIG,iBAAoC,GAAGC,MAAM,CAACC,MAAP,CAAc;AACvD;AACAC,IAAAA,QAAQ,EAAEZ,GAAG,CAACQ,OAAJ,CAAYI,QAFiC;AAGvDC,IAAAA,eAAe,EAAEb,GAAG,CAACQ,OAAJ,CAAYK;AAH0B,GAAd,EAIxCX,gBAJwC,EAItB;AACnB;AACAK,IAAAA;AAFmB,GAJsB,CAA3C,CAbsH,CAsBtH;;AACA,4BAAeP,GAAf,EAAoBK,GAAG,CAACS,OAAxB,EAAiCL,iBAAjC,EAvBsH,CAyBtH;AACA;;AACA,MAAIA,iBAAiB,CAACI,eAAlB,IAAqC,IAArC,IAA6C,CAACb,GAAG,CAACe,QAAJ,CAAaC,sBAAb,EAAlD,EAAyF;AACvF,WAAOf,KAAP;AACD,GA7BqH,CA+BtH;;;AACA,QAAMgB,GAAG,GAAG,MAAM,uBAAOjB,GAAP,EAAYC,KAAK,CAACM,MAAlB,EAA0BF,GAAG,CAACa,MAAJ,CAAWC,GAArC,CAAlB;AACA,QAAMC,KAAK,GAAG,MAAMC,SAAS,CAACtB,WAAV,CAAsBE,KAAK,CAACE,OAA5B,EAAqCc,GAArC,CAApB;;AACA,MAAI,CAACG,KAAL,EAAY;AACV,UAAM,IAAIhB,oBAAJ,CAAiB,kCAAjB,CAAN;AACD;;AACD,MAAIF,gBAAgB,IAAIA,gBAAgB,CAACoB,WAArC,IAAoDrB,KAAK,CAACsB,MAAN,CAAaC,OAArE,EAA8E;AAC5E,UAAMC,IAAI,GAAG,MAAMJ,SAAS,CAACK,WAAV,CAAsBxB,gBAAgB,CAACoB,WAAvC,CAAnB;;AACA,QAAIG,IAAI,KAAKxB,KAAK,CAACsB,MAAN,CAAaC,OAA1B,EAAmC;AACjC,YAAM,IAAIpB,oBAAJ,CAAiB,gCAAjB,CAAN;AACD;AACF;;AACD,SAAOH,KAAP;AACD","sourcesContent":["/* eslint-disable max-len */\n/* eslint-disable complexity */\n/*!\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 */\nimport { getWellKnown, getKey } from './endpoints/well-known';\nimport { validateClaims } from './util';\nimport { AuthSdkError } from '../errors';\nimport { IDToken, OktaAuth, TokenVerifyParams } from '../types';\nimport { decodeToken } from './decodeToken';\nimport * as sdkCrypto from '../crypto';\n\n// Verify the id token\nexport async function verifyToken(sdk: OktaAuth, token: IDToken, validationParams: TokenVerifyParams): Promise<IDToken> {\n if (!token || !token.idToken) {\n throw new AuthSdkError('Only idTokens may be verified');\n }\n\n // Decode the Jwt object (may throw)\n var jwt = decodeToken(token.idToken);\n\n // The configured issuer may point to a frontend proxy.\n // Get the \"real\" issuer from .well-known/openid-configuration\n const configuredIssuer = validationParams?.issuer || sdk.options.issuer;\n const { issuer } = await getWellKnown(sdk, configuredIssuer);\n\n var validationOptions: TokenVerifyParams = Object.assign({\n // base options, can be overridden by params\n clientId: sdk.options.clientId,\n ignoreSignature: sdk.options.ignoreSignature\n }, validationParams, {\n // final options, cannot be overridden\n issuer\n });\n\n // Standard claim validation (may throw)\n validateClaims(sdk, jwt.payload, validationOptions);\n\n // If the browser doesn't support native crypto or we choose not\n // to verify the signature, bail early\n if (validationOptions.ignoreSignature == true || !sdk.features.isTokenVerifySupported()) {\n return token;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const key = await getKey(sdk, token.issuer, jwt.header.kid!);\n const valid = await sdkCrypto.verifyToken(token.idToken, key);\n if (!valid) {\n throw new AuthSdkError('The token signature is not valid');\n }\n if (validationParams && validationParams.accessToken && token.claims.at_hash) {\n const hash = await sdkCrypto.getOidcHash(validationParams.accessToken);\n if (hash !== token.claims.at_hash) {\n throw new AuthSdkError('Token hash verification failed');\n }\n }\n return token;\n}\n"],"file":"verifyToken.js"}
1
+ {"version":3,"sources":["../../../lib/oidc/verifyToken.ts"],"names":["verifyToken","sdk","token","validationParams","idToken","AuthSdkError","jwt","configuredIssuer","issuer","options","validationOptions","clientId","ignoreSignature","payload","features","isTokenVerifySupported","key","header","kid","valid","sdkCrypto","accessToken","claims","at_hash","hash","getOidcHash"],"mappings":";;;;;;;;;;;;AAcA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAnBA;;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACO,eAAeA,WAAf,CAA2BC,GAA3B,EAAmDC,KAAnD,EAAmEC,gBAAnE,EAA0H;AAC/H,MAAI,CAACD,KAAD,IAAU,CAACA,KAAK,CAACE,OAArB,EAA8B;AAC5B,UAAM,IAAIC,oBAAJ,CAAiB,+BAAjB,CAAN;AACD,GAH8H,CAK/H;;;AACA,MAAIC,GAAG,GAAG,8BAAYJ,KAAK,CAACE,OAAlB,CAAV,CAN+H,CAQ/H;AACA;;AACA,QAAMG,gBAAgB,GAAG,CAAAJ,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEK,MAAlB,KAA4BP,GAAG,CAACQ,OAAJ,CAAYD,MAAjE;AACA,QAAM;AAAEA,IAAAA;AAAF,MAAa,MAAM,6BAAaP,GAAb,EAAkBM,gBAAlB,CAAzB;AAEA,MAAIG,iBAAoC,GAAG,qBAAc;AACvD;AACAC,IAAAA,QAAQ,EAAEV,GAAG,CAACQ,OAAJ,CAAYE,QAFiC;AAGvDC,IAAAA,eAAe,EAAEX,GAAG,CAACQ,OAAJ,CAAYG;AAH0B,GAAd,EAIxCT,gBAJwC,EAItB;AACnB;AACAK,IAAAA;AAFmB,GAJsB,CAA3C,CAb+H,CAsB/H;;AACA,4BAAeP,GAAf,EAAoBK,GAAG,CAACO,OAAxB,EAAiCH,iBAAjC,EAvB+H,CAyB/H;AACA;;AACA,MAAIA,iBAAiB,CAACE,eAAlB,IAAqC,IAArC,IAA6C,CAACX,GAAG,CAACa,QAAJ,CAAaC,sBAAb,EAAlD,EAAyF;AACvF,WAAOb,KAAP;AACD,GA7B8H,CA+B/H;;;AACA,QAAMc,GAAG,GAAG,MAAM,uBAAOf,GAAP,EAAYC,KAAK,CAACM,MAAlB,EAA0BF,GAAG,CAACW,MAAJ,CAAWC,GAArC,CAAlB;AACA,QAAMC,KAAK,GAAG,MAAMC,SAAS,CAACpB,WAAV,CAAsBE,KAAK,CAACE,OAA5B,EAAqCY,GAArC,CAApB;;AACA,MAAI,CAACG,KAAL,EAAY;AACV,UAAM,IAAId,oBAAJ,CAAiB,kCAAjB,CAAN;AACD;;AACD,MAAIF,gBAAgB,IAAIA,gBAAgB,CAACkB,WAArC,IAAoDnB,KAAK,CAACoB,MAAN,CAAaC,OAArE,EAA8E;AAC5E,UAAMC,IAAI,GAAG,MAAMJ,SAAS,CAACK,WAAV,CAAsBtB,gBAAgB,CAACkB,WAAvC,CAAnB;;AACA,QAAIG,IAAI,KAAKtB,KAAK,CAACoB,MAAN,CAAaC,OAA1B,EAAmC;AACjC,YAAM,IAAIlB,oBAAJ,CAAiB,gCAAjB,CAAN;AACD;AACF;;AACD,SAAOH,KAAP;AACD","sourcesContent":["/* eslint-disable max-len */\n/* eslint-disable complexity */\n/*!\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 */\nimport { getWellKnown, getKey } from './endpoints/well-known';\nimport { validateClaims } from './util';\nimport { AuthSdkError } from '../errors';\nimport { IDToken, OktaAuthInterface, TokenVerifyParams } from '../types';\nimport { decodeToken } from './decodeToken';\nimport * as sdkCrypto from '../crypto';\n\n// Verify the id token\nexport async function verifyToken(sdk: OktaAuthInterface, token: IDToken, validationParams: TokenVerifyParams): Promise<IDToken> {\n if (!token || !token.idToken) {\n throw new AuthSdkError('Only idTokens may be verified');\n }\n\n // Decode the Jwt object (may throw)\n var jwt = decodeToken(token.idToken);\n\n // The configured issuer may point to a frontend proxy.\n // Get the \"real\" issuer from .well-known/openid-configuration\n const configuredIssuer = validationParams?.issuer || sdk.options.issuer;\n const { issuer } = await getWellKnown(sdk, configuredIssuer);\n\n var validationOptions: TokenVerifyParams = Object.assign({\n // base options, can be overridden by params\n clientId: sdk.options.clientId,\n ignoreSignature: sdk.options.ignoreSignature\n }, validationParams, {\n // final options, cannot be overridden\n issuer\n });\n\n // Standard claim validation (may throw)\n validateClaims(sdk, jwt.payload, validationOptions);\n\n // If the browser doesn't support native crypto or we choose not\n // to verify the signature, bail early\n if (validationOptions.ignoreSignature == true || !sdk.features.isTokenVerifySupported()) {\n return token;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const key = await getKey(sdk, token.issuer, jwt.header.kid!);\n const valid = await sdkCrypto.verifyToken(token.idToken, key);\n if (!valid) {\n throw new AuthSdkError('The token signature is not valid');\n }\n if (validationParams && validationParams.accessToken && token.claims.at_hash) {\n const hash = await sdkCrypto.getOidcHash(validationParams.accessToken);\n if (hash !== token.claims.at_hash) {\n throw new AuthSdkError('Token hash verification failed');\n }\n }\n return token;\n}\n"],"file":"verifyToken.js"}
package/cjs/options.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.getDefaultOptions = getDefaultOptions;
6
6
  exports.buildOptions = buildOptions;
7
7
 
8
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
9
+
8
10
  var _util = require("./util");
9
11
 
10
12
  var _builderUtil = require("./builderUtil");
@@ -106,9 +108,9 @@ function getDefaultOptions() {
106
108
  }
107
109
 
108
110
  function mergeOptions(options, args) {
109
- return Object.assign({}, options, (0, _util.removeNils)(args), {
110
- storageManager: Object.assign({}, options.storageManager, args.storageManager),
111
- transactionManager: Object.assign({}, options.transactionManager, args.transactionManager)
111
+ return (0, _assign.default)({}, options, (0, _util.removeNils)(args), {
112
+ storageManager: (0, _assign.default)({}, options.storageManager, args.storageManager),
113
+ transactionManager: (0, _assign.default)({}, options.transactionManager, args.transactionManager)
112
114
  });
113
115
  }
114
116
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/options.ts"],"names":["BROWSER_STORAGE","token","storageTypes","cache","transaction","SERVER_STORAGE","getCookieSettings","args","isHTTPS","cookieSettings","cookies","secure","sameSite","getDefaultOptions","storageUtil","browserStorage","serverStorage","storageManager","enableSharedStorage","devMode","httpRequestClient","fetchRequest","transactionManager","mergeOptions","options","Object","assign","buildOptions","issuer","tokenUrl","authorizeUrl","userinfoUrl","revokeUrl","logoutUrl","clientId","redirectUri","state","scopes","postLogoutRedirectUri","responseMode","responseType","pkce","useInteractionCodeFlow","transformErrorXHR","transformAuthState","restoreOriginalUri","headers","flow","codeChallenge","codeChallengeMethod","recoveryToken","activationToken","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 },\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 'original-uri': {\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 const enableSharedStorage = isBrowser() ? true : false; // localStorage for multi-tab flows (browser only)\n return {\n devMode: false,\n httpRequestClient: fetchRequest,\n storageUtil,\n storageManager,\n transactionManager: {\n enableSharedStorage\n }\n };\n}\n\nfunction mergeOptions(options, args): OktaAuthOptions {\n return Object.assign({}, options, removeNils(args), {\n storageManager: Object.assign({}, options.storageManager, args.storageManager),\n transactionManager: Object.assign({}, options.transactionManager, args.transactionManager),\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 transactionManager: args.transactionManager,\n cookies: isBrowser() ? getCookieSettings(args, isHTTPS()) : args.cookies,\n flow: args.flow,\n codeChallenge: args.codeChallenge,\n codeChallengeMethod: args.codeChallengeMethod,\n recoveryToken: args.recoveryToken,\n activationToken: args.activationToken,\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"}
1
+ {"version":3,"sources":["../../lib/options.ts"],"names":["BROWSER_STORAGE","token","storageTypes","cache","transaction","SERVER_STORAGE","getCookieSettings","args","isHTTPS","cookieSettings","cookies","secure","sameSite","getDefaultOptions","storageUtil","browserStorage","serverStorage","storageManager","enableSharedStorage","devMode","httpRequestClient","fetchRequest","transactionManager","mergeOptions","options","buildOptions","issuer","tokenUrl","authorizeUrl","userinfoUrl","revokeUrl","logoutUrl","clientId","redirectUri","state","scopes","postLogoutRedirectUri","responseMode","responseType","pkce","useInteractionCodeFlow","transformErrorXHR","transformAuthState","restoreOriginalUri","headers","flow","codeChallenge","codeChallengeMethod","recoveryToken","activationToken","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 },\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 'original-uri': {\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 const enableSharedStorage = isBrowser() ? true : false; // localStorage for multi-tab flows (browser only)\n return {\n devMode: false,\n httpRequestClient: fetchRequest,\n storageUtil,\n storageManager,\n transactionManager: {\n enableSharedStorage\n }\n };\n}\n\nfunction mergeOptions(options, args): OktaAuthOptions {\n return Object.assign({}, options, removeNils(args), {\n storageManager: Object.assign({}, options.storageManager, args.storageManager),\n transactionManager: Object.assign({}, options.transactionManager, args.transactionManager),\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 transactionManager: args.transactionManager,\n cookies: isBrowser() ? getCookieSettings(args, isHTTPS()) : args.cookies,\n flow: args.flow,\n codeChallenge: args.codeChallenge,\n codeChallengeMethod: args.codeChallengeMethod,\n recoveryToken: args.recoveryToken,\n activationToken: args.activationToken,\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"}
@@ -16,6 +16,7 @@ var _errors = require("../errors");
16
16
  * See the License for the specific language governing permissions and limitations under the License.
17
17
  *
18
18
  */
19
+ // eslint-disable-next-line import/no-commonjs
19
20
  const NodeCache = require('node-cache'); // commonJS module cannot be imported without esModuleInterop
20
21
  // this is a SHARED memory storage to support a stateless http server
21
22
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/server/serverStorage.ts"],"names":["NodeCache","require","sharedStorage","ServerCookies","constructor","nodeCache","set","name","value","expiresAt","Date","parse","ttl","now","get","delete","del","ServerStorage","storage","testStorageType","storageType","supported","getStorageByType","storageProvider","getStorage","AuthSdkError","findStorageType","getHttpCache","getItem","setItem","key"],"mappings":";;;;AAcA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA,MAAMA,SAAS,GAAGC,OAAO,CAAC,YAAD,CAAzB,C,CAAyC;AAEzC;;;AACA,MAAMC,aAAa,GAAG,OAAOF,SAAP,KAAqB,UAArB,GAAkC,IAAIA,SAAJ,EAAlC,GAAoD,IAA1E;;AAEA,MAAMG,aAAN,CAAuC;AACrB;AAEhBC,EAAAA,WAAW,CAACC,SAAD,EAAY;AACrB,SAAKA,SAAL,GAAiBA,SAAjB;AACD;;AAEDC,EAAAA,GAAG,CAACC,IAAD,EAAeC,KAAf,EAA8BC,SAA9B,EAAyD;AAC1D;AACA,QAAI,CAAC,CAAEC,IAAI,CAACC,KAAL,CAAWF,SAAX,CAAP,EAA+B;AAC7B;AACA,UAAIG,GAAG,GAAG,CAACF,IAAI,CAACC,KAAL,CAAWF,SAAX,IAAwBC,IAAI,CAACG,GAAL,EAAzB,IAAuC,IAAjD;AACA,WAAKR,SAAL,CAAeC,GAAf,CAAmBC,IAAnB,EAAyBC,KAAzB,EAAgCI,GAAhC;AACD,KAJD,MAIO;AACL,WAAKP,SAAL,CAAeC,GAAf,CAAmBC,IAAnB,EAAyBC,KAAzB;AACD;;AAED,WAAO,KAAKM,GAAL,CAASP,IAAT,CAAP;AACD;;AAEDO,EAAAA,GAAG,CAACP,IAAD,EAAe;AAChB,WAAO,KAAKF,SAAL,CAAeS,GAAf,CAAmBP,IAAnB,CAAP;AACD;;AAEDQ,EAAAA,MAAM,CAACR,IAAD,EAAO;AACX,WAAO,KAAKF,SAAL,CAAeW,GAAf,CAAmBT,IAAnB,CAAP;AACD;;AA1BoC,C,CA4BvC;;;AACA,MAAMU,aAAN,CAA2C;AACzB;AAEhBb,EAAAA,WAAW,CAACC,SAAD,EAAY;AACrB,SAAKA,SAAL,GAAiBA,SAAjB;AACA,SAAKa,OAAL,GAAe,IAAIf,aAAJ,CAAkBE,SAAlB,CAAf;AACD;;AAEDc,EAAAA,eAAe,CAACC,WAAD,EAAoC;AACjD,QAAIC,SAAS,GAAG,KAAhB;;AACA,YAAQD,WAAR;AACE,WAAK,QAAL;AACEC,QAAAA,SAAS,GAAG,IAAZ;AACA;;AACF;AACE;AALJ;;AAOA,WAAOA,SAAP;AACD;;AAEDC,EAAAA,gBAAgB,CAACF,WAAD,EAA0C;AACxD,QAAIG,eAAJ;;AACA,YAAQH,WAAR;AACE,WAAK,QAAL;AACEG,QAAAA,eAAe,GAAG,KAAKC,UAAL,EAAlB;AACA;;AACF;AACE,cAAM,IAAIC,oBAAJ,CAAkB,gCAA+BL,WAAY,EAA7D,CAAN;AACA;AANJ;;AAQA,WAAOG,eAAP;AACD;;AAEDG,EAAAA,eAAe,GAAgB;AAC7B,WAAO,QAAP;AACD,GAnCwC,CAqCzC;;;AACAC,EAAAA,YAAY,GAAG;AACb,WAAO,IAAP,CADa,CACA;AACd,GAxCwC,CA0CzC;;;AACAH,EAAAA,UAAU,GAAkB;AAC1B,WAAO;AACLI,MAAAA,OAAO,EAAE,KAAKvB,SAAL,CAAeS,GADnB;AAELe,MAAAA,OAAO,EAAE,CAACC,GAAD,EAAMtB,KAAN,KAAgB;AACvB,aAAKH,SAAL,CAAeC,GAAf,CAAmBwB,GAAnB,EAAwBtB,KAAxB,EAA+B,0BAA/B;AACD;AAJI,KAAP;AAMD;;AAlDwC;;eAqD5B,IAAIS,aAAJ,CAAkBf,aAAlB,C","sourcesContent":["/*!\n * Copyright (c) 2018-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 { SimpleStorage, StorageType, StorageUtil, Cookies } from '../types';\nimport { AuthSdkError } from '../errors';\nconst NodeCache = require('node-cache'); // commonJS module cannot be imported without esModuleInterop\n\n// this is a SHARED memory storage to support a stateless http server\nconst sharedStorage = typeof NodeCache === 'function' ? new NodeCache() : null;\n\nclass ServerCookies implements Cookies {\n nodeCache: any; // NodeCache\n \n constructor(nodeCache) {\n this.nodeCache = nodeCache;\n }\n\n set(name: string, value: string, expiresAt: string): string {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!(Date.parse(expiresAt))) {\n // Time to expiration in seconds\n var ttl = (Date.parse(expiresAt) - Date.now()) / 1000;\n this.nodeCache.set(name, value, ttl);\n } else {\n this.nodeCache.set(name, value);\n }\n\n return this.get(name);\n }\n\n get(name): string {\n return this.nodeCache.get(name);\n }\n\n delete(name) {\n return this.nodeCache.del(name);\n }\n}\n// Building this as an object allows us to mock the functions in our tests\nclass ServerStorage implements StorageUtil {\n nodeCache: any; // NodeCache\n storage: Cookies;\n constructor(nodeCache) {\n this.nodeCache = nodeCache;\n this.storage = new ServerCookies(nodeCache);\n }\n\n testStorageType(storageType: StorageType): boolean {\n var supported = false;\n switch (storageType) {\n case 'memory':\n supported = true;\n break;\n default:\n break;\n }\n return supported;\n }\n\n getStorageByType(storageType: StorageType): SimpleStorage {\n let storageProvider;\n switch (storageType) {\n case 'memory':\n storageProvider = this.getStorage();\n break;\n default:\n throw new AuthSdkError(`Unrecognized storage option: ${storageType}`);\n break;\n }\n return storageProvider;\n }\n\n findStorageType(): StorageType {\n return 'memory';\n }\n\n // will be removed in next version. OKTA-362589\n getHttpCache() {\n return null; // stubbed in server.js\n }\n\n // shared in-memory using node cache\n getStorage(): SimpleStorage {\n return {\n getItem: this.nodeCache.get,\n setItem: (key, value) => {\n this.nodeCache.set(key, value, '2200-01-01T00:00:00.000Z');\n }\n };\n }\n}\n\nexport default new ServerStorage(sharedStorage);\n"],"file":"serverStorage.js"}
1
+ {"version":3,"sources":["../../../lib/server/serverStorage.ts"],"names":["NodeCache","require","sharedStorage","ServerCookies","constructor","nodeCache","set","name","value","expiresAt","Date","parse","ttl","now","get","delete","del","ServerStorage","storage","testStorageType","storageType","supported","getStorageByType","storageProvider","getStorage","AuthSdkError","findStorageType","getHttpCache","getItem","setItem","key"],"mappings":";;;;AAcA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA,MAAMA,SAAS,GAAGC,OAAO,CAAC,YAAD,CAAzB,C,CAAyC;AAEzC;;;AACA,MAAMC,aAAa,GAAG,OAAOF,SAAP,KAAqB,UAArB,GAAkC,IAAIA,SAAJ,EAAlC,GAAoD,IAA1E;;AAEA,MAAMG,aAAN,CAAuC;AACrB;AAEhBC,EAAAA,WAAW,CAACC,SAAD,EAAY;AACrB,SAAKA,SAAL,GAAiBA,SAAjB;AACD;;AAEDC,EAAAA,GAAG,CAACC,IAAD,EAAeC,KAAf,EAA8BC,SAA9B,EAAyD;AAC1D;AACA,QAAI,CAAC,CAAEC,IAAI,CAACC,KAAL,CAAWF,SAAX,CAAP,EAA+B;AAC7B;AACA,UAAIG,GAAG,GAAG,CAACF,IAAI,CAACC,KAAL,CAAWF,SAAX,IAAwBC,IAAI,CAACG,GAAL,EAAzB,IAAuC,IAAjD;AACA,WAAKR,SAAL,CAAeC,GAAf,CAAmBC,IAAnB,EAAyBC,KAAzB,EAAgCI,GAAhC;AACD,KAJD,MAIO;AACL,WAAKP,SAAL,CAAeC,GAAf,CAAmBC,IAAnB,EAAyBC,KAAzB;AACD;;AAED,WAAO,KAAKM,GAAL,CAASP,IAAT,CAAP;AACD;;AAEDO,EAAAA,GAAG,CAACP,IAAD,EAAe;AAChB,WAAO,KAAKF,SAAL,CAAeS,GAAf,CAAmBP,IAAnB,CAAP;AACD;;AAEDQ,EAAAA,MAAM,CAACR,IAAD,EAAO;AACX,WAAO,KAAKF,SAAL,CAAeW,GAAf,CAAmBT,IAAnB,CAAP;AACD;;AA1BoC,C,CA4BvC;;;AACA,MAAMU,aAAN,CAA2C;AACzB;AAEhBb,EAAAA,WAAW,CAACC,SAAD,EAAY;AACrB,SAAKA,SAAL,GAAiBA,SAAjB;AACA,SAAKa,OAAL,GAAe,IAAIf,aAAJ,CAAkBE,SAAlB,CAAf;AACD;;AAEDc,EAAAA,eAAe,CAACC,WAAD,EAAoC;AACjD,QAAIC,SAAS,GAAG,KAAhB;;AACA,YAAQD,WAAR;AACE,WAAK,QAAL;AACEC,QAAAA,SAAS,GAAG,IAAZ;AACA;;AACF;AACE;AALJ;;AAOA,WAAOA,SAAP;AACD;;AAEDC,EAAAA,gBAAgB,CAACF,WAAD,EAA0C;AACxD,QAAIG,eAAJ;;AACA,YAAQH,WAAR;AACE,WAAK,QAAL;AACEG,QAAAA,eAAe,GAAG,KAAKC,UAAL,EAAlB;AACA;;AACF;AACE,cAAM,IAAIC,oBAAJ,CAAkB,gCAA+BL,WAAY,EAA7D,CAAN;AACA;AANJ;;AAQA,WAAOG,eAAP;AACD;;AAEDG,EAAAA,eAAe,GAAgB;AAC7B,WAAO,QAAP;AACD,GAnCwC,CAqCzC;;;AACAC,EAAAA,YAAY,GAAG;AACb,WAAO,IAAP,CADa,CACA;AACd,GAxCwC,CA0CzC;;;AACAH,EAAAA,UAAU,GAAkB;AAC1B,WAAO;AACLI,MAAAA,OAAO,EAAE,KAAKvB,SAAL,CAAeS,GADnB;AAELe,MAAAA,OAAO,EAAE,CAACC,GAAD,EAAMtB,KAAN,KAAgB;AACvB,aAAKH,SAAL,CAAeC,GAAf,CAAmBwB,GAAnB,EAAwBtB,KAAxB,EAA+B,0BAA/B;AACD;AAJI,KAAP;AAMD;;AAlDwC;;eAqD5B,IAAIS,aAAJ,CAAkBf,aAAlB,C","sourcesContent":["/*!\n * Copyright (c) 2018-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 { SimpleStorage, StorageType, StorageUtil, Cookies } from '../types';\nimport { AuthSdkError } from '../errors';\n// eslint-disable-next-line import/no-commonjs\nconst NodeCache = require('node-cache'); // commonJS module cannot be imported without esModuleInterop\n\n// this is a SHARED memory storage to support a stateless http server\nconst sharedStorage = typeof NodeCache === 'function' ? new NodeCache() : null;\n\nclass ServerCookies implements Cookies {\n nodeCache: any; // NodeCache\n \n constructor(nodeCache) {\n this.nodeCache = nodeCache;\n }\n\n set(name: string, value: string, expiresAt: string): string {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!(Date.parse(expiresAt))) {\n // Time to expiration in seconds\n var ttl = (Date.parse(expiresAt) - Date.now()) / 1000;\n this.nodeCache.set(name, value, ttl);\n } else {\n this.nodeCache.set(name, value);\n }\n\n return this.get(name);\n }\n\n get(name): string {\n return this.nodeCache.get(name);\n }\n\n delete(name) {\n return this.nodeCache.del(name);\n }\n}\n// Building this as an object allows us to mock the functions in our tests\nclass ServerStorage implements StorageUtil {\n nodeCache: any; // NodeCache\n storage: Cookies;\n constructor(nodeCache) {\n this.nodeCache = nodeCache;\n this.storage = new ServerCookies(nodeCache);\n }\n\n testStorageType(storageType: StorageType): boolean {\n var supported = false;\n switch (storageType) {\n case 'memory':\n supported = true;\n break;\n default:\n break;\n }\n return supported;\n }\n\n getStorageByType(storageType: StorageType): SimpleStorage {\n let storageProvider;\n switch (storageType) {\n case 'memory':\n storageProvider = this.getStorage();\n break;\n default:\n throw new AuthSdkError(`Unrecognized storage option: ${storageType}`);\n break;\n }\n return storageProvider;\n }\n\n findStorageType(): StorageType {\n return 'memory';\n }\n\n // will be removed in next version. OKTA-362589\n getHttpCache() {\n return null; // stubbed in server.js\n }\n\n // shared in-memory using node cache\n getStorage(): SimpleStorage {\n return {\n getItem: this.nodeCache.get,\n setItem: (key, value) => {\n this.nodeCache.set(key, value, '2200-01-01T00:00:00.000Z');\n }\n };\n }\n}\n\nexport default new ServerStorage(sharedStorage);\n"],"file":"serverStorage.js"}
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _findInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/find");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
6
 
5
7
  exports.AuthTransaction = void 0;
6
8
 
9
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
10
+
11
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
12
+
7
13
  var _http = require("../http");
8
14
 
9
15
  var _util = require("../util");
@@ -42,7 +48,7 @@ class AuthTransaction {
42
48
  } // Parse response from Authn V1
43
49
 
44
50
 
45
- Object.assign(this, flattenEmbedded(sdk, res, res, {}));
51
+ (0, _assign.default)(this, flattenEmbedded(sdk, res, res, {}));
46
52
  delete this.stateToken; // RECOVERY_CHALLENGE has some responses without _links.
47
53
  // Without _links, we emulate cancel to make it intuitive
48
54
  // to return to the starting state. We may remove this
@@ -50,7 +56,7 @@ class AuthTransaction {
50
56
 
51
57
  if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {
52
58
  this.cancel = function () {
53
- return Promise.resolve(new AuthTransaction(sdk));
59
+ return _promise.default.resolve(new AuthTransaction(sdk));
54
60
  };
55
61
  }
56
62
  }
@@ -67,7 +73,7 @@ function link2fn(sdk, res, obj, link, ref) {
67
73
  throw new _AuthSdkError.default('Must provide a link name');
68
74
  }
69
75
 
70
- var lk = (0, _util.find)(link, {
76
+ var lk = (0, _findInstanceProperty(_util))(link, {
71
77
  name: name
72
78
  });
73
79
 
@@ -99,7 +105,7 @@ function link2fn(sdk, res, obj, link, ref) {
99
105
 
100
106
  if (res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL') {
101
107
  // Add factorType and provider
102
- Object.assign(data, {
108
+ (0, _assign.default)(data, {
103
109
  factorType: obj.factorType,
104
110
  provider: obj.provider
105
111
  });
@@ -113,7 +119,7 @@ function link2fn(sdk, res, obj, link, ref) {
113
119
  try {
114
120
  params.autoPush = !!autoPush();
115
121
  } catch (e) {
116
- return Promise.reject(new _AuthSdkError.default('AutoPush resulted in an error.'));
122
+ return _promise.default.reject(new _AuthSdkError.default('AutoPush resulted in an error.'));
117
123
  }
118
124
  } else if (autoPush !== null) {
119
125
  params.autoPush = !!autoPush;
@@ -129,7 +135,7 @@ function link2fn(sdk, res, obj, link, ref) {
129
135
  try {
130
136
  params.rememberDevice = !!rememberDevice();
131
137
  } catch (e) {
132
- return Promise.reject(new _AuthSdkError.default('RememberDevice resulted in an error.'));
138
+ return _promise.default.reject(new _AuthSdkError.default('RememberDevice resulted in an error.'));
133
139
  }
134
140
  } else if (rememberDevice !== null) {
135
141
  params.rememberDevice = !!rememberDevice;
@@ -220,9 +226,9 @@ function flattenEmbedded(sdk, res, obj, ref) {
220
226
 
221
227
 
222
228
  var fns = links2fns(sdk, res, obj, ref);
223
- Object.assign(embedded, fns);
229
+ (0, _assign.default)(embedded, fns);
224
230
  obj = (0, _util.omit)(obj, '_embedded', '_links');
225
- Object.assign(obj, embedded);
231
+ (0, _assign.default)(obj, embedded);
226
232
  return obj;
227
233
  }
228
234
  //# sourceMappingURL=AuthTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/AuthTransaction.ts"],"names":["AuthTransaction","constructor","sdk","res","data","undefined","status","interactionHandle","Object","assign","flattenEmbedded","stateToken","_links","cancel","Promise","resolve","link2fn","obj","link","ref","Array","isArray","name","opts","AuthSdkError","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","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: TransactionState | null = null) {\n this.data = undefined;\n this.status = undefined as unknown as string;\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) as never);\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":["AuthTransaction","constructor","sdk","res","data","undefined","status","interactionHandle","flattenEmbedded","stateToken","_links","cancel","resolve","link2fn","obj","link","ref","Array","isArray","name","opts","AuthSdkError","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","e","reject","rememberDevice","profile","updatePhone","links2fns","fns","linkName","Object","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: TransactionState | null = null) {\n this.data = undefined;\n this.status = undefined as unknown as string;\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) as never);\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/cjs/tx/api.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.transactionStatus = transactionStatus;
6
6
  exports.resumeTransaction = resumeTransaction;
@@ -9,6 +9,10 @@ exports.transactionStep = transactionStep;
9
9
  exports.transactionExists = transactionExists;
10
10
  exports.postToTransaction = postToTransaction;
11
11
 
12
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
13
+
14
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
15
+
12
16
  var _http = require("../http");
13
17
 
14
18
  var _AuthSdkError = _interopRequireDefault(require("../errors/AuthSdkError"));
@@ -49,7 +53,7 @@ function resumeTransaction(sdk, args) {
49
53
  stateToken: stateToken
50
54
  };
51
55
  } else {
52
- return Promise.reject(new _AuthSdkError.default('No transaction to resume'));
56
+ return _promise.default.reject(new _AuthSdkError.default('No transaction to resume'));
53
57
  }
54
58
  }
55
59
 
@@ -67,7 +71,7 @@ function introspectAuthn(sdk, args) {
67
71
  stateToken: stateToken
68
72
  };
69
73
  } else {
70
- return Promise.reject(new _AuthSdkError.default('No transaction to evaluate'));
74
+ return _promise.default.reject(new _AuthSdkError.default('No transaction to evaluate'));
71
75
  }
72
76
  }
73
77
 
@@ -90,7 +94,7 @@ function transactionExists(sdk) {
90
94
  }
91
95
 
92
96
  function postToTransaction(sdk, url, args, options) {
93
- options = Object.assign({
97
+ options = (0, _assign.default)({
94
98
  withCredentials: true
95
99
  }, options);
96
100
  return (0, _http.post)(sdk, url, args, options).then(function (res) {
package/cjs/tx/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/api.ts"],"names":["transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","STATE_TOKEN_KEY_NAME","Promise","reject","AuthSdkError","status","then","res","AuthTransaction","introspectAuthn","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\nexport function transactionStatus(sdk, args) {\n args = addStateToken(sdk, args);\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, { withCredentials: true });\n}\n\nexport function 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\nexport function introspectAuthn (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\nexport function 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\nexport function transactionExists(sdk) {\n // We have a cookie state token\n return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n}\n\nexport function 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"],"file":"api.js"}
1
+ {"version":3,"sources":["../../../lib/tx/api.ts"],"names":["transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","STATE_TOKEN_KEY_NAME","reject","AuthSdkError","status","then","res","AuthTransaction","introspectAuthn","transactionStep","transactionExists","postToTransaction","url","options"],"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\nexport function transactionStatus(sdk, args) {\n args = addStateToken(sdk, args);\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, { withCredentials: true });\n}\n\nexport function 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\nexport function introspectAuthn (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\nexport function 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\nexport function transactionExists(sdk) {\n // We have a cookie state token\n return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n}\n\nexport function 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"],"file":"api.js"}
package/cjs/tx/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
+
3
5
  var _api = require("./api");
4
6
 
5
- Object.keys(_api).forEach(function (key) {
7
+ _Object$keys(_api).forEach(function (key) {
6
8
  if (key === "default" || key === "__esModule") return;
7
9
  if (key in exports && exports[key] === _api[key]) return;
8
10
  Object.defineProperty(exports, key, {
@@ -15,7 +17,7 @@ Object.keys(_api).forEach(function (key) {
15
17
 
16
18
  var _AuthTransaction = require("./AuthTransaction");
17
19
 
18
- Object.keys(_AuthTransaction).forEach(function (key) {
20
+ _Object$keys(_AuthTransaction).forEach(function (key) {
19
21
  if (key === "default" || key === "__esModule") return;
20
22
  if (key in exports && exports[key] === _AuthTransaction[key]) return;
21
23
  Object.defineProperty(exports, key, {
@@ -28,7 +30,7 @@ Object.keys(_AuthTransaction).forEach(function (key) {
28
30
 
29
31
  var _poll = require("./poll");
30
32
 
31
- Object.keys(_poll).forEach(function (key) {
33
+ _Object$keys(_poll).forEach(function (key) {
32
34
  if (key === "default" || key === "__esModule") return;
33
35
  if (key in exports && exports[key] === _poll[key]) return;
34
36
  Object.defineProperty(exports, key, {
@@ -41,7 +43,7 @@ Object.keys(_poll).forEach(function (key) {
41
43
 
42
44
  var _TransactionState = require("./TransactionState");
43
45
 
44
- Object.keys(_TransactionState).forEach(function (key) {
46
+ _Object$keys(_TransactionState).forEach(function (key) {
45
47
  if (key === "default" || key === "__esModule") return;
46
48
  if (key in exports && exports[key] === _TransactionState[key]) return;
47
49
  Object.defineProperty(exports, key, {
@@ -54,7 +56,7 @@ Object.keys(_TransactionState).forEach(function (key) {
54
56
 
55
57
  var _util = require("./util");
56
58
 
57
- Object.keys(_util).forEach(function (key) {
59
+ _Object$keys(_util).forEach(function (key) {
58
60
  if (key === "default" || key === "__esModule") return;
59
61
  if (key in exports && exports[key] === _util[key]) return;
60
62
  Object.defineProperty(exports, key, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/index.ts"],"names":[],"mappings":";;AAaA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","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\nexport * from './api';\nexport * from './AuthTransaction';\nexport * from './poll';\nexport * from './TransactionState';\nexport * from './util';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../lib/tx/index.ts"],"names":[],"mappings":";;;;AAaA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","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\nexport * from './api';\nexport * from './AuthTransaction';\nexport * from './poll';\nexport * from './TransactionState';\nexport * from './util';\n"],"file":"index.js"}
package/cjs/tx/poll.js CHANGED
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.getPollFn = getPollFn;
6
6
 
7
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
8
+
7
9
  var _http = require("../http");
8
10
 
9
11
  var _util = require("../util");
@@ -63,7 +65,7 @@ function getPollFn(sdk, res, ref) {
63
65
  try {
64
66
  opts.autoPush = !!autoPush();
65
67
  } catch (e) {
66
- return Promise.reject(new _AuthSdkError.default('AutoPush resulted in an error.'));
68
+ return _promise.default.reject(new _AuthSdkError.default('AutoPush resulted in an error.'));
67
69
  }
68
70
  } else if (autoPush !== undefined && autoPush !== null) {
69
71
  opts.autoPush = !!autoPush;
@@ -73,7 +75,7 @@ function getPollFn(sdk, res, ref) {
73
75
  try {
74
76
  opts.rememberDevice = !!rememberDevice();
75
77
  } catch (e) {
76
- return Promise.reject(new _AuthSdkError.default('RememberDevice resulted in an error.'));
78
+ return _promise.default.reject(new _AuthSdkError.default('RememberDevice resulted in an error.'));
77
79
  }
78
80
  } else if (rememberDevice !== undefined && rememberDevice !== null) {
79
81
  opts.rememberDevice = !!rememberDevice;
@@ -92,7 +94,7 @@ function getPollFn(sdk, res, ref) {
92
94
  var recursivePoll = function () {
93
95
  // If the poll was manually stopped during the delay
94
96
  if (!ref.isPolling) {
95
- return Promise.reject(new _AuthPollStopError.default());
97
+ return _promise.default.reject(new _AuthPollStopError.default());
96
98
  }
97
99
 
98
100
  return pollFn().then(function (pollRes) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/poll.ts"],"names":["getPollFn","sdk","res","ref","options","delay","rememberDevice","autoPush","transactionCallBack","DEFAULT_POLLING_DELAY","pollLink","pollFn","opts","e","Promise","reject","AuthSdkError","undefined","href","saveAuthnState","withCredentials","isPolling","retryCount","recursivePoll","AuthPollStopError","then","pollRes","factorResult","AuthTransaction","catch","err","xhr","status","delayLength","Math","pow"],"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 { post } from '../http';\nimport { isNumber, isObject, getLink, toQueryString, delay as delayFn } from '../util';\nimport { DEFAULT_POLLING_DELAY } from '../constants';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport AuthPollStopError from '../errors/AuthPollStopError';\nimport { TransactionState } from './TransactionState';\nimport { AuthTransaction } from './AuthTransaction';\nimport { getStateToken } from './util';\n\nexport interface PollOptions {\n delay?: number;\n rememberDevice?: boolean;\n autoPush?: boolean;\n transactionCallBack?: (TransactionState) => void;\n}\n\nexport function getPollFn(sdk, res: TransactionState, ref) {\n return function (options: PollOptions | number) {\n var delay;\n var rememberDevice;\n var autoPush;\n var transactionCallBack;\n\n if (isNumber(options)) {\n delay = options;\n } else if (isObject(options)) {\n options = options as PollOptions;\n delay = options.delay;\n rememberDevice = options.rememberDevice;\n autoPush = options.autoPush;\n transactionCallBack = options.transactionCallBack;\n }\n\n if (!delay && delay !== 0) {\n delay = DEFAULT_POLLING_DELAY;\n }\n\n // Get the poll function\n var pollLink = getLink(res, 'next', 'poll');\n // eslint-disable-next-line complexity\n function pollFn() {\n var opts = {} as PollOptions;\n if (typeof autoPush === 'function') {\n try {\n opts.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== undefined && autoPush !== null) {\n opts.autoPush = !!autoPush;\n }\n if (typeof rememberDevice === 'function') {\n try {\n opts.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== undefined && rememberDevice !== null) {\n opts.rememberDevice = !!rememberDevice;\n }\n\n var href = pollLink.href + toQueryString(opts);\n return post(sdk, href, getStateToken(res), {\n saveAuthnState: false,\n withCredentials: true\n });\n }\n\n ref.isPolling = true;\n\n var retryCount = 0;\n var recursivePoll = function () {\n // If the poll was manually stopped during the delay\n if (!ref.isPolling) {\n return Promise.reject(new AuthPollStopError());\n }\n return pollFn()\n .then(function (pollRes) {\n // Reset our retry counter on success\n retryCount = 0;\n\n // If we're still waiting\n if (pollRes.factorResult && pollRes.factorResult === 'WAITING') {\n\n // If the poll was manually stopped while the pollFn was called\n if (!ref.isPolling) {\n throw new AuthPollStopError();\n }\n\n if (typeof transactionCallBack === 'function') {\n transactionCallBack(pollRes);\n }\n\n // Continue poll\n return delayFn(delay).then(recursivePoll);\n\n } else {\n // Any non-waiting result, even if polling was stopped\n // during a request, will return\n ref.isPolling = false;\n return new AuthTransaction(sdk, pollRes);\n }\n })\n .catch(function(err) {\n // Exponential backoff, up to 16 seconds\n if (err.xhr &&\n (err.xhr.status === 0 || err.xhr.status === 429) &&\n retryCount <= 4) {\n var delayLength = Math.pow(2, retryCount) * 1000;\n retryCount++;\n return delayFn(delayLength)\n .then(recursivePoll);\n }\n throw err;\n });\n };\n return recursivePoll()\n .catch(function(err) {\n ref.isPolling = false;\n throw err;\n });\n };\n}\n"],"file":"poll.js"}
1
+ {"version":3,"sources":["../../../lib/tx/poll.ts"],"names":["getPollFn","sdk","res","ref","options","delay","rememberDevice","autoPush","transactionCallBack","DEFAULT_POLLING_DELAY","pollLink","pollFn","opts","e","reject","AuthSdkError","undefined","href","saveAuthnState","withCredentials","isPolling","retryCount","recursivePoll","AuthPollStopError","then","pollRes","factorResult","AuthTransaction","catch","err","xhr","status","delayLength","Math","pow"],"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 { post } from '../http';\nimport { isNumber, isObject, getLink, toQueryString, delay as delayFn } from '../util';\nimport { DEFAULT_POLLING_DELAY } from '../constants';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport AuthPollStopError from '../errors/AuthPollStopError';\nimport { TransactionState } from './TransactionState';\nimport { AuthTransaction } from './AuthTransaction';\nimport { getStateToken } from './util';\n\nexport interface PollOptions {\n delay?: number;\n rememberDevice?: boolean;\n autoPush?: boolean;\n transactionCallBack?: (TransactionState) => void;\n}\n\nexport function getPollFn(sdk, res: TransactionState, ref) {\n return function (options: PollOptions | number) {\n var delay;\n var rememberDevice;\n var autoPush;\n var transactionCallBack;\n\n if (isNumber(options)) {\n delay = options;\n } else if (isObject(options)) {\n options = options as PollOptions;\n delay = options.delay;\n rememberDevice = options.rememberDevice;\n autoPush = options.autoPush;\n transactionCallBack = options.transactionCallBack;\n }\n\n if (!delay && delay !== 0) {\n delay = DEFAULT_POLLING_DELAY;\n }\n\n // Get the poll function\n var pollLink = getLink(res, 'next', 'poll');\n // eslint-disable-next-line complexity\n function pollFn() {\n var opts = {} as PollOptions;\n if (typeof autoPush === 'function') {\n try {\n opts.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== undefined && autoPush !== null) {\n opts.autoPush = !!autoPush;\n }\n if (typeof rememberDevice === 'function') {\n try {\n opts.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== undefined && rememberDevice !== null) {\n opts.rememberDevice = !!rememberDevice;\n }\n\n var href = pollLink.href + toQueryString(opts);\n return post(sdk, href, getStateToken(res), {\n saveAuthnState: false,\n withCredentials: true\n });\n }\n\n ref.isPolling = true;\n\n var retryCount = 0;\n var recursivePoll = function () {\n // If the poll was manually stopped during the delay\n if (!ref.isPolling) {\n return Promise.reject(new AuthPollStopError());\n }\n return pollFn()\n .then(function (pollRes) {\n // Reset our retry counter on success\n retryCount = 0;\n\n // If we're still waiting\n if (pollRes.factorResult && pollRes.factorResult === 'WAITING') {\n\n // If the poll was manually stopped while the pollFn was called\n if (!ref.isPolling) {\n throw new AuthPollStopError();\n }\n\n if (typeof transactionCallBack === 'function') {\n transactionCallBack(pollRes);\n }\n\n // Continue poll\n return delayFn(delay).then(recursivePoll);\n\n } else {\n // Any non-waiting result, even if polling was stopped\n // during a request, will return\n ref.isPolling = false;\n return new AuthTransaction(sdk, pollRes);\n }\n })\n .catch(function(err) {\n // Exponential backoff, up to 16 seconds\n if (err.xhr &&\n (err.xhr.status === 0 || err.xhr.status === 429) &&\n retryCount <= 4) {\n var delayLength = Math.pow(2, retryCount) * 1000;\n retryCount++;\n return delayFn(delayLength)\n .then(recursivePoll);\n }\n throw err;\n });\n };\n return recursivePoll()\n .catch(function(err) {\n ref.isPolling = false;\n throw err;\n });\n };\n}\n"],"file":"poll.js"}
package/cjs/tx/util.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
3
5
  exports.addStateToken = addStateToken;
4
6
  exports.getStateToken = getStateToken;
5
7
 
8
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
9
+
6
10
  /*!
7
11
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
8
12
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -17,7 +21,7 @@ exports.getStateToken = getStateToken;
17
21
  */
18
22
  function addStateToken(res, options) {
19
23
  var builtArgs = {};
20
- Object.assign(builtArgs, options); // Add the stateToken if one isn't passed and we have one
24
+ (0, _assign.default)(builtArgs, options); // Add the stateToken if one isn't passed and we have one
21
25
 
22
26
  if (!builtArgs.stateToken && res.stateToken) {
23
27
  builtArgs.stateToken = res.stateToken;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/util.ts"],"names":["addStateToken","res","options","builtArgs","Object","assign","stateToken","getStateToken"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKO,SAASA,aAAT,CAAuBC,GAAvB,EAA4BC,OAA5B,EAAsC;AAC3C,MAAIC,SAAS,GAAG,EAAhB;AACAC,EAAAA,MAAM,CAACC,MAAP,CAAcF,SAAd,EAAyBD,OAAzB,EAF2C,CAI3C;;AACA,MAAI,CAACC,SAAS,CAACG,UAAX,IAAyBL,GAAG,CAACK,UAAjC,EAA6C;AAC3CH,IAAAA,SAAS,CAACG,UAAV,GAAuBL,GAAG,CAACK,UAA3B;AACD;;AAED,SAAOH,SAAP;AACD;;AAEM,SAASI,aAAT,CAAuBN,GAAvB,EAA4B;AACjC,SAAOD,aAAa,CAACC,GAAD,CAApB;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\n\nimport { TransactionState } from './TransactionState';\n\nexport function addStateToken(res, options?) {\n var builtArgs = {} as TransactionState;\n Object.assign(builtArgs, options);\n\n // Add the stateToken if one isn't passed and we have one\n if (!builtArgs.stateToken && res.stateToken) {\n builtArgs.stateToken = res.stateToken;\n }\n\n return builtArgs;\n}\n\nexport function getStateToken(res) {\n return addStateToken(res);\n}\n"],"file":"util.js"}
1
+ {"version":3,"sources":["../../../lib/tx/util.ts"],"names":["addStateToken","res","options","builtArgs","stateToken","getStateToken"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKO,SAASA,aAAT,CAAuBC,GAAvB,EAA4BC,OAA5B,EAAsC;AAC3C,MAAIC,SAAS,GAAG,EAAhB;AACA,uBAAcA,SAAd,EAAyBD,OAAzB,EAF2C,CAI3C;;AACA,MAAI,CAACC,SAAS,CAACC,UAAX,IAAyBH,GAAG,CAACG,UAAjC,EAA6C;AAC3CD,IAAAA,SAAS,CAACC,UAAV,GAAuBH,GAAG,CAACG,UAA3B;AACD;;AAED,SAAOD,SAAP;AACD;;AAEM,SAASE,aAAT,CAAuBJ,GAAvB,EAA4B;AACjC,SAAOD,aAAa,CAACC,GAAD,CAApB;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\n\nimport { TransactionState } from './TransactionState';\n\nexport function addStateToken(res, options?) {\n var builtArgs = {} as TransactionState;\n Object.assign(builtArgs, options);\n\n // Add the stateToken if one isn't passed and we have one\n if (!builtArgs.stateToken && res.stateToken) {\n builtArgs.stateToken = res.stateToken;\n }\n\n return builtArgs;\n}\n\nexport function getStateToken(res) {\n return addStateToken(res);\n}\n"],"file":"util.js"}