@okta/okta-auth-js 7.0.2 → 7.1.1

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 (572) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +2 -0
  3. package/cjs/authn/AuthnTransactionImpl.js +6 -8
  4. package/cjs/authn/AuthnTransactionImpl.js.map +1 -1
  5. package/cjs/authn/api.js +3 -18
  6. package/cjs/authn/api.js.map +1 -1
  7. package/cjs/authn/factory.js +1 -7
  8. package/cjs/authn/factory.js.map +1 -1
  9. package/cjs/authn/index.js +0 -5
  10. package/cjs/authn/index.js.map +1 -1
  11. package/cjs/authn/mixin.js +14 -22
  12. package/cjs/authn/mixin.js.map +1 -1
  13. package/cjs/authn/util/flattenEmbedded.js +5 -12
  14. package/cjs/authn/util/flattenEmbedded.js.map +1 -1
  15. package/cjs/authn/util/link2fn.js +0 -22
  16. package/cjs/authn/util/link2fn.js.map +1 -1
  17. package/cjs/authn/util/links2fns.js +0 -12
  18. package/cjs/authn/util/links2fns.js.map +1 -1
  19. package/cjs/authn/util/poll.js +9 -27
  20. package/cjs/authn/util/poll.js.map +1 -1
  21. package/cjs/authn/util/stateToken.js +3 -4
  22. package/cjs/authn/util/stateToken.js.map +1 -1
  23. package/cjs/base/factory.js +6 -14
  24. package/cjs/base/factory.js.map +1 -1
  25. package/cjs/base/index.js +0 -5
  26. package/cjs/base/index.js.map +1 -1
  27. package/cjs/base/options.js +1 -2
  28. package/cjs/base/options.js.map +1 -1
  29. package/cjs/browser/browserStorage.js +15 -43
  30. package/cjs/browser/browserStorage.js.map +1 -1
  31. package/cjs/browser/fingerprint.js +3 -15
  32. package/cjs/browser/fingerprint.js.map +1 -1
  33. package/cjs/clock.js +5 -7
  34. package/cjs/clock.js.map +1 -1
  35. package/cjs/constants.js +4 -3
  36. package/cjs/constants.js.map +1 -1
  37. package/cjs/core/AuthStateManager.js +24 -48
  38. package/cjs/core/AuthStateManager.js.map +1 -1
  39. package/cjs/core/ServiceManager/browser.js +13 -33
  40. package/cjs/core/ServiceManager/browser.js.map +1 -1
  41. package/cjs/core/ServiceManager/index.js +0 -1
  42. package/cjs/core/ServiceManager/index.js.map +1 -1
  43. package/cjs/core/ServiceManager/node.js +3 -9
  44. package/cjs/core/ServiceManager/node.js.map +1 -1
  45. package/cjs/core/factory.js +0 -7
  46. package/cjs/core/factory.js.map +1 -1
  47. package/cjs/core/index.js +0 -13
  48. package/cjs/core/index.js.map +1 -1
  49. package/cjs/core/mixin.js +16 -20
  50. package/cjs/core/mixin.js.map +1 -1
  51. package/cjs/core/options.js +1 -3
  52. package/cjs/core/options.js.map +1 -1
  53. package/cjs/core/storage.js +0 -2
  54. package/cjs/core/storage.js.map +1 -1
  55. package/cjs/core/types/index.js +0 -5
  56. package/cjs/core/types/index.js.map +1 -1
  57. package/cjs/crypto/base64.js +9 -22
  58. package/cjs/crypto/base64.js.map +1 -1
  59. package/cjs/crypto/browser.js +0 -4
  60. package/cjs/crypto/browser.js.map +1 -1
  61. package/cjs/crypto/index.js +0 -9
  62. package/cjs/crypto/index.js.map +1 -1
  63. package/cjs/crypto/node.js +0 -13
  64. package/cjs/crypto/node.js.map +1 -1
  65. package/cjs/crypto/oidcHash.js +1 -4
  66. package/cjs/crypto/oidcHash.js.map +1 -1
  67. package/cjs/crypto/verifyToken.js +6 -7
  68. package/cjs/crypto/verifyToken.js.map +1 -1
  69. package/cjs/crypto/webcrypto.js +0 -1
  70. package/cjs/crypto/webcrypto.js.map +1 -1
  71. package/cjs/errors/AuthApiError.js +1 -7
  72. package/cjs/errors/AuthApiError.js.map +1 -1
  73. package/cjs/errors/AuthPollStopError.js +1 -5
  74. package/cjs/errors/AuthPollStopError.js.map +1 -1
  75. package/cjs/errors/AuthSdkError.js +1 -6
  76. package/cjs/errors/AuthSdkError.js.map +1 -1
  77. package/cjs/errors/CustomError.js +1 -4
  78. package/cjs/errors/CustomError.js.map +1 -1
  79. package/cjs/errors/OAuthError.js +4 -7
  80. package/cjs/errors/OAuthError.js.map +1 -1
  81. package/cjs/errors/index.js +1 -9
  82. package/cjs/errors/index.js.map +1 -1
  83. package/cjs/exports/authn.js +0 -9
  84. package/cjs/exports/authn.js.map +1 -1
  85. package/cjs/exports/cdn/authn.js +0 -2
  86. package/cjs/exports/cdn/authn.js.map +1 -1
  87. package/cjs/exports/cdn/core.js +0 -2
  88. package/cjs/exports/cdn/core.js.map +1 -1
  89. package/cjs/exports/cdn/default.js +0 -2
  90. package/cjs/exports/cdn/default.js.map +1 -1
  91. package/cjs/exports/cdn/idx.js +0 -2
  92. package/cjs/exports/cdn/idx.js.map +1 -1
  93. package/cjs/exports/cdn/myaccount.js +0 -2
  94. package/cjs/exports/cdn/myaccount.js.map +1 -1
  95. package/cjs/exports/common.js +0 -22
  96. package/cjs/exports/common.js.map +1 -1
  97. package/cjs/exports/core.js +0 -9
  98. package/cjs/exports/core.js.map +1 -1
  99. package/cjs/exports/default.js +2 -12
  100. package/cjs/exports/default.js.map +1 -1
  101. package/cjs/exports/idx.js +3 -7
  102. package/cjs/exports/idx.js.map +1 -1
  103. package/cjs/exports/myaccount.js +0 -9
  104. package/cjs/exports/myaccount.js.map +1 -1
  105. package/cjs/features.js +1 -18
  106. package/cjs/features.js.map +1 -1
  107. package/cjs/fetch/fetchRequest.js +6 -20
  108. package/cjs/fetch/fetchRequest.js.map +1 -1
  109. package/cjs/http/OktaUserAgent.js +3 -11
  110. package/cjs/http/OktaUserAgent.js.map +1 -1
  111. package/cjs/http/headers.js +1 -1
  112. package/cjs/http/headers.js.map +1 -1
  113. package/cjs/http/index.js +0 -11
  114. package/cjs/http/index.js.map +1 -1
  115. package/cjs/http/mixin.js +2 -10
  116. package/cjs/http/mixin.js.map +1 -1
  117. package/cjs/http/options.js +1 -5
  118. package/cjs/http/options.js.map +1 -1
  119. package/cjs/http/request.js +75 -57
  120. package/cjs/http/request.js.map +1 -1
  121. package/cjs/idx/IdxTransactionManager.js +2 -22
  122. package/cjs/idx/IdxTransactionManager.js.map +1 -1
  123. package/cjs/idx/authenticate.js +3 -5
  124. package/cjs/idx/authenticate.js.map +1 -1
  125. package/cjs/idx/authenticator/Authenticator.js +2 -4
  126. package/cjs/idx/authenticator/Authenticator.js.map +1 -1
  127. package/cjs/idx/authenticator/OktaPassword.js +2 -10
  128. package/cjs/idx/authenticator/OktaPassword.js.map +1 -1
  129. package/cjs/idx/authenticator/OktaVerifyTotp.js +0 -6
  130. package/cjs/idx/authenticator/OktaVerifyTotp.js.map +1 -1
  131. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +0 -10
  132. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
  133. package/cjs/idx/authenticator/SecurityQuestionVerification.js +1 -10
  134. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
  135. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +2 -10
  136. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -1
  137. package/cjs/idx/authenticator/WebauthnEnrollment.js +0 -8
  138. package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -1
  139. package/cjs/idx/authenticator/WebauthnVerification.js +0 -8
  140. package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -1
  141. package/cjs/idx/authenticator/getAuthenticator.js +0 -15
  142. package/cjs/idx/authenticator/getAuthenticator.js.map +1 -1
  143. package/cjs/idx/authenticator/index.js +0 -15
  144. package/cjs/idx/authenticator/index.js.map +1 -1
  145. package/cjs/idx/authenticator/util.js +8 -18
  146. package/cjs/idx/authenticator/util.js.map +1 -1
  147. package/cjs/idx/cancel.js +3 -4
  148. package/cjs/idx/cancel.js.map +1 -1
  149. package/cjs/idx/emailVerify.js +5 -13
  150. package/cjs/idx/emailVerify.js.map +1 -1
  151. package/cjs/idx/factory/OktaAuthIdx.js +0 -3
  152. package/cjs/idx/factory/OktaAuthIdx.js.map +1 -1
  153. package/cjs/idx/factory/api.js +1 -17
  154. package/cjs/idx/factory/api.js.map +1 -1
  155. package/cjs/idx/factory/index.js +0 -3
  156. package/cjs/idx/factory/index.js.map +1 -1
  157. package/cjs/idx/flow/AccountUnlockFlow.js +1 -2
  158. package/cjs/idx/flow/AccountUnlockFlow.js.map +1 -1
  159. package/cjs/idx/flow/AuthenticationFlow.js +1 -2
  160. package/cjs/idx/flow/AuthenticationFlow.js.map +1 -1
  161. package/cjs/idx/flow/FlowSpecification.js +2 -13
  162. package/cjs/idx/flow/FlowSpecification.js.map +1 -1
  163. package/cjs/idx/flow/PasswordRecoveryFlow.js +1 -2
  164. package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -1
  165. package/cjs/idx/flow/RegistrationFlow.js +1 -2
  166. package/cjs/idx/flow/RegistrationFlow.js.map +1 -1
  167. package/cjs/idx/flow/index.js +0 -11
  168. package/cjs/idx/flow/index.js.map +1 -1
  169. package/cjs/idx/handleInteractionCodeRedirect.js +7 -12
  170. package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
  171. package/cjs/idx/idxState/index.js +1 -11
  172. package/cjs/idx/idxState/index.js.map +1 -1
  173. package/cjs/idx/idxState/v1/actionParser.js +1 -12
  174. package/cjs/idx/idxState/v1/actionParser.js.map +1 -1
  175. package/cjs/idx/idxState/v1/generateIdxAction.js +10 -15
  176. package/cjs/idx/idxState/v1/generateIdxAction.js.map +1 -1
  177. package/cjs/idx/idxState/v1/idxResponseParser.js +7 -23
  178. package/cjs/idx/idxState/v1/idxResponseParser.js.map +1 -1
  179. package/cjs/idx/idxState/v1/makeIdxState.js +2 -10
  180. package/cjs/idx/idxState/v1/makeIdxState.js.map +1 -1
  181. package/cjs/idx/idxState/v1/parsers.js +0 -2
  182. package/cjs/idx/idxState/v1/parsers.js.map +1 -1
  183. package/cjs/idx/idxState/v1/remediationParser.js +2 -4
  184. package/cjs/idx/idxState/v1/remediationParser.js.map +1 -1
  185. package/cjs/idx/index.js +0 -26
  186. package/cjs/idx/index.js.map +1 -1
  187. package/cjs/idx/interact.js +18 -18
  188. package/cjs/idx/interact.js.map +1 -1
  189. package/cjs/idx/introspect.js +5 -14
  190. package/cjs/idx/introspect.js.map +1 -1
  191. package/cjs/idx/mixin.js +0 -9
  192. package/cjs/idx/mixin.js.map +1 -1
  193. package/cjs/idx/options.js +2 -3
  194. package/cjs/idx/options.js.map +1 -1
  195. package/cjs/idx/poll.js +1 -10
  196. package/cjs/idx/poll.js.map +1 -1
  197. package/cjs/idx/proceed.js +3 -9
  198. package/cjs/idx/proceed.js.map +1 -1
  199. package/cjs/idx/recoverPassword.js +3 -4
  200. package/cjs/idx/recoverPassword.js.map +1 -1
  201. package/cjs/idx/register.js +5 -10
  202. package/cjs/idx/register.js.map +1 -1
  203. package/cjs/idx/remediate.js +24 -45
  204. package/cjs/idx/remediate.js.map +1 -1
  205. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +7 -16
  206. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  207. package/cjs/idx/remediators/AuthenticatorVerificationData.js +7 -15
  208. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  209. package/cjs/idx/remediators/Base/AuthenticatorData.js +7 -22
  210. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  211. package/cjs/idx/remediators/Base/Remediator.js +38 -67
  212. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  213. package/cjs/idx/remediators/Base/SelectAuthenticator.js +13 -30
  214. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  215. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +5 -13
  216. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  217. package/cjs/idx/remediators/ChallengeAuthenticator.js +1 -5
  218. package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
  219. package/cjs/idx/remediators/ChallengePoll.js +1 -6
  220. package/cjs/idx/remediators/ChallengePoll.js.map +1 -1
  221. package/cjs/idx/remediators/EnrollAuthenticator.js +1 -5
  222. package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
  223. package/cjs/idx/remediators/EnrollPoll.js +5 -12
  224. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  225. package/cjs/idx/remediators/EnrollProfile.js +8 -30
  226. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  227. package/cjs/idx/remediators/EnrollmentChannelData.js +5 -13
  228. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  229. package/cjs/idx/remediators/GenericRemediator/GenericRemediator.js +13 -19
  230. package/cjs/idx/remediators/GenericRemediator/GenericRemediator.js.map +1 -1
  231. package/cjs/idx/remediators/GenericRemediator/index.js +0 -1
  232. package/cjs/idx/remediators/GenericRemediator/index.js.map +1 -1
  233. package/cjs/idx/remediators/GenericRemediator/util.js +19 -31
  234. package/cjs/idx/remediators/GenericRemediator/util.js.map +1 -1
  235. package/cjs/idx/remediators/Identify.js +3 -12
  236. package/cjs/idx/remediators/Identify.js.map +1 -1
  237. package/cjs/idx/remediators/ReEnrollAuthenticator.js +3 -10
  238. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  239. package/cjs/idx/remediators/RedirectIdp.js +1 -7
  240. package/cjs/idx/remediators/RedirectIdp.js.map +1 -1
  241. package/cjs/idx/remediators/ResetAuthenticator.js +1 -5
  242. package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
  243. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +3 -11
  244. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  245. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js +1 -5
  246. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
  247. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js +6 -15
  248. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -1
  249. package/cjs/idx/remediators/SelectEnrollProfile.js +1 -6
  250. package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
  251. package/cjs/idx/remediators/SelectEnrollmentChannel.js +5 -16
  252. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  253. package/cjs/idx/remediators/Skip.js +1 -6
  254. package/cjs/idx/remediators/Skip.js.map +1 -1
  255. package/cjs/idx/remediators/index.js +0 -39
  256. package/cjs/idx/remediators/index.js.map +1 -1
  257. package/cjs/idx/remediators/util.js +1 -7
  258. package/cjs/idx/remediators/util.js.map +1 -1
  259. package/cjs/idx/run.js +37 -52
  260. package/cjs/idx/run.js.map +1 -1
  261. package/cjs/idx/startTransaction.js +1 -2
  262. package/cjs/idx/startTransaction.js.map +1 -1
  263. package/cjs/idx/storage.js +3 -22
  264. package/cjs/idx/storage.js.map +1 -1
  265. package/cjs/idx/transactionMeta.js +24 -42
  266. package/cjs/idx/transactionMeta.js.map +1 -1
  267. package/cjs/idx/types/api.js +1 -9
  268. package/cjs/idx/types/api.js.map +1 -1
  269. package/cjs/idx/types/idx-js.js +3 -3
  270. package/cjs/idx/types/idx-js.js.map +1 -1
  271. package/cjs/idx/types/index.js +0 -7
  272. package/cjs/idx/types/index.js.map +1 -1
  273. package/cjs/idx/types/meta.js.map +1 -1
  274. package/cjs/idx/types/options.js.map +1 -1
  275. package/cjs/idx/unlockAccount.js +7 -11
  276. package/cjs/idx/unlockAccount.js.map +1 -1
  277. package/cjs/idx/util.js +24 -76
  278. package/cjs/idx/util.js.map +1 -1
  279. package/cjs/idx/webauthn.js +13 -18
  280. package/cjs/idx/webauthn.js.map +1 -1
  281. package/cjs/myaccount/api.js +0 -5
  282. package/cjs/myaccount/api.js.map +1 -1
  283. package/cjs/myaccount/emailApi.js +6 -21
  284. package/cjs/myaccount/emailApi.js.map +1 -1
  285. package/cjs/myaccount/factory.js +0 -3
  286. package/cjs/myaccount/factory.js.map +1 -1
  287. package/cjs/myaccount/index.js +0 -7
  288. package/cjs/myaccount/index.js.map +1 -1
  289. package/cjs/myaccount/mixin.js +0 -5
  290. package/cjs/myaccount/mixin.js.map +1 -1
  291. package/cjs/myaccount/phoneApi.js +5 -18
  292. package/cjs/myaccount/phoneApi.js.map +1 -1
  293. package/cjs/myaccount/profileApi.js +2 -9
  294. package/cjs/myaccount/profileApi.js.map +1 -1
  295. package/cjs/myaccount/request.js +12 -78
  296. package/cjs/myaccount/request.js.map +1 -1
  297. package/cjs/myaccount/transactions/Base.js +5 -7
  298. package/cjs/myaccount/transactions/Base.js.map +1 -1
  299. package/cjs/myaccount/transactions/EmailChallengeTransaction.js +5 -10
  300. package/cjs/myaccount/transactions/EmailChallengeTransaction.js.map +1 -1
  301. package/cjs/myaccount/transactions/EmailStatusTransaction.js +2 -7
  302. package/cjs/myaccount/transactions/EmailStatusTransaction.js.map +1 -1
  303. package/cjs/myaccount/transactions/EmailTransaction.js +5 -13
  304. package/cjs/myaccount/transactions/EmailTransaction.js.map +1 -1
  305. package/cjs/myaccount/transactions/PhoneTransaction.js +5 -12
  306. package/cjs/myaccount/transactions/PhoneTransaction.js.map +1 -1
  307. package/cjs/myaccount/transactions/ProfileSchemaTransaction.js +0 -5
  308. package/cjs/myaccount/transactions/ProfileSchemaTransaction.js.map +1 -1
  309. package/cjs/myaccount/transactions/ProfileTransaction.js +0 -5
  310. package/cjs/myaccount/transactions/ProfileTransaction.js.map +1 -1
  311. package/cjs/myaccount/transactions/index.js +0 -8
  312. package/cjs/myaccount/transactions/index.js.map +1 -1
  313. package/cjs/myaccount/types.js +0 -5
  314. package/cjs/myaccount/types.js.map +1 -1
  315. package/cjs/oidc/TokenManager.js +39 -100
  316. package/cjs/oidc/TokenManager.js.map +1 -1
  317. package/cjs/oidc/TransactionManager.js +19 -26
  318. package/cjs/oidc/TransactionManager.js.map +1 -1
  319. package/cjs/oidc/decodeToken.js +1 -5
  320. package/cjs/oidc/decodeToken.js.map +1 -1
  321. package/cjs/oidc/endpoints/authorize.js +9 -13
  322. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  323. package/cjs/oidc/endpoints/index.js +0 -5
  324. package/cjs/oidc/endpoints/index.js.map +1 -1
  325. package/cjs/oidc/endpoints/token.js +5 -17
  326. package/cjs/oidc/endpoints/token.js.map +1 -1
  327. package/cjs/oidc/endpoints/well-known.js +7 -14
  328. package/cjs/oidc/endpoints/well-known.js.map +1 -1
  329. package/cjs/oidc/exchangeCodeForTokens.js +7 -12
  330. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  331. package/cjs/oidc/factory/OktaAuthOAuth.js +0 -6
  332. package/cjs/oidc/factory/OktaAuthOAuth.js.map +1 -1
  333. package/cjs/oidc/factory/api.js +6 -20
  334. package/cjs/oidc/factory/api.js.map +1 -1
  335. package/cjs/oidc/factory/index.js +0 -3
  336. package/cjs/oidc/factory/index.js.map +1 -1
  337. package/cjs/oidc/getToken.js +18 -30
  338. package/cjs/oidc/getToken.js.map +1 -1
  339. package/cjs/oidc/getUserInfo.js +1 -15
  340. package/cjs/oidc/getUserInfo.js.map +1 -1
  341. package/cjs/oidc/getWithPopup.js +4 -8
  342. package/cjs/oidc/getWithPopup.js.map +1 -1
  343. package/cjs/oidc/getWithRedirect.js +1 -8
  344. package/cjs/oidc/getWithRedirect.js.map +1 -1
  345. package/cjs/oidc/getWithoutPrompt.js +1 -5
  346. package/cjs/oidc/getWithoutPrompt.js.map +1 -1
  347. package/cjs/oidc/handleOAuthResponse.js +23 -40
  348. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  349. package/cjs/oidc/index.js +0 -32
  350. package/cjs/oidc/index.js.map +1 -1
  351. package/cjs/oidc/mixin/browser.js +6 -18
  352. package/cjs/oidc/mixin/browser.js.map +1 -1
  353. package/cjs/oidc/mixin/index.js +37 -89
  354. package/cjs/oidc/mixin/index.js.map +1 -1
  355. package/cjs/oidc/mixin/node.js +2 -9
  356. package/cjs/oidc/mixin/node.js.map +1 -1
  357. package/cjs/oidc/options/OAuthOptionsConstructor.js +17 -24
  358. package/cjs/oidc/options/OAuthOptionsConstructor.js.map +1 -1
  359. package/cjs/oidc/options/browser.js.map +1 -1
  360. package/cjs/oidc/options/index.js +0 -1
  361. package/cjs/oidc/options/index.js.map +1 -1
  362. package/cjs/oidc/options/node.js.map +1 -1
  363. package/cjs/oidc/parseFromUrl.js +1 -32
  364. package/cjs/oidc/parseFromUrl.js.map +1 -1
  365. package/cjs/oidc/renewToken.js +5 -16
  366. package/cjs/oidc/renewToken.js.map +1 -1
  367. package/cjs/oidc/renewTokens.js +3 -15
  368. package/cjs/oidc/renewTokens.js.map +1 -1
  369. package/cjs/oidc/renewTokensWithRefresh.js +3 -13
  370. package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
  371. package/cjs/oidc/revokeToken.js +3 -14
  372. package/cjs/oidc/revokeToken.js.map +1 -1
  373. package/cjs/oidc/storage.js +0 -8
  374. package/cjs/oidc/storage.js.map +1 -1
  375. package/cjs/oidc/types/Token.js +1 -5
  376. package/cjs/oidc/types/Token.js.map +1 -1
  377. package/cjs/oidc/types/TokenManager.js +1 -1
  378. package/cjs/oidc/types/TokenManager.js.map +1 -1
  379. package/cjs/oidc/types/Transaction.js +1 -12
  380. package/cjs/oidc/types/Transaction.js.map +1 -1
  381. package/cjs/oidc/types/UserClaims.js.map +1 -1
  382. package/cjs/oidc/types/api.js.map +1 -1
  383. package/cjs/oidc/types/index.js +0 -21
  384. package/cjs/oidc/types/index.js.map +1 -1
  385. package/cjs/oidc/types/meta.js.map +1 -1
  386. package/cjs/oidc/types/options.js.map +1 -1
  387. package/cjs/oidc/types/proto.js.map +1 -1
  388. package/cjs/oidc/util/browser.js +4 -13
  389. package/cjs/oidc/util/browser.js.map +1 -1
  390. package/cjs/oidc/util/defaultTokenParams.js +5 -5
  391. package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
  392. package/cjs/oidc/util/errors.js +3 -8
  393. package/cjs/oidc/util/errors.js.map +1 -1
  394. package/cjs/oidc/util/index.js +0 -24
  395. package/cjs/oidc/util/index.js.map +1 -1
  396. package/cjs/oidc/util/loginRedirect.js +11 -25
  397. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  398. package/cjs/oidc/util/oauth.js +3 -12
  399. package/cjs/oidc/util/oauth.js.map +1 -1
  400. package/cjs/oidc/util/oauthMeta.js +5 -6
  401. package/cjs/oidc/util/oauthMeta.js.map +1 -1
  402. package/cjs/oidc/util/pkce.js +1 -12
  403. package/cjs/oidc/util/pkce.js.map +1 -1
  404. package/cjs/oidc/util/prepareTokenParams.js +13 -26
  405. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  406. package/cjs/oidc/util/refreshToken.js +0 -7
  407. package/cjs/oidc/util/refreshToken.js.map +1 -1
  408. package/cjs/oidc/util/sharedStorage.js +0 -8
  409. package/cjs/oidc/util/sharedStorage.js.map +1 -1
  410. package/cjs/oidc/util/urlParams.js +9 -12
  411. package/cjs/oidc/util/urlParams.js.map +1 -1
  412. package/cjs/oidc/util/validateClaims.js +9 -17
  413. package/cjs/oidc/util/validateClaims.js.map +1 -1
  414. package/cjs/oidc/util/validateToken.js +1 -6
  415. package/cjs/oidc/util/validateToken.js.map +1 -1
  416. package/cjs/oidc/verifyToken.js +13 -23
  417. package/cjs/oidc/verifyToken.js.map +1 -1
  418. package/cjs/server/serverStorage.js +9 -27
  419. package/cjs/server/serverStorage.js.map +1 -1
  420. package/cjs/services/AutoRenewService.js +1 -17
  421. package/cjs/services/AutoRenewService.js.map +1 -1
  422. package/cjs/services/LeaderElectionService.js +1 -23
  423. package/cjs/services/LeaderElectionService.js.map +1 -1
  424. package/cjs/services/SyncStorageService.js +3 -37
  425. package/cjs/services/SyncStorageService.js.map +1 -1
  426. package/cjs/services/index.js +0 -5
  427. package/cjs/services/index.js.map +1 -1
  428. package/cjs/session/api.js +1 -12
  429. package/cjs/session/api.js.map +1 -1
  430. package/cjs/session/factory.js +0 -2
  431. package/cjs/session/factory.js.map +1 -1
  432. package/cjs/session/index.js +0 -7
  433. package/cjs/session/index.js.map +1 -1
  434. package/cjs/session/mixin.js +2 -6
  435. package/cjs/session/mixin.js.map +1 -1
  436. package/cjs/storage/BaseStorageManager.js +13 -25
  437. package/cjs/storage/BaseStorageManager.js.map +1 -1
  438. package/cjs/storage/SavedObject.js +7 -19
  439. package/cjs/storage/SavedObject.js.map +1 -1
  440. package/cjs/storage/index.js +0 -9
  441. package/cjs/storage/index.js.map +1 -1
  442. package/cjs/storage/mixin.js +2 -4
  443. package/cjs/storage/mixin.js.map +1 -1
  444. package/cjs/storage/options/StorageOptionsConstructor.js +3 -6
  445. package/cjs/storage/options/StorageOptionsConstructor.js.map +1 -1
  446. package/cjs/storage/options/browser.js +7 -15
  447. package/cjs/storage/options/browser.js.map +1 -1
  448. package/cjs/storage/options/node.js +3 -6
  449. package/cjs/storage/options/node.js.map +1 -1
  450. package/cjs/util/PromiseQueue.js +7 -15
  451. package/cjs/util/PromiseQueue.js.map +1 -1
  452. package/cjs/util/console.js +3 -7
  453. package/cjs/util/console.js.map +1 -1
  454. package/cjs/util/index.js +0 -11
  455. package/cjs/util/index.js.map +1 -1
  456. package/cjs/util/misc.js +3 -8
  457. package/cjs/util/misc.js.map +1 -1
  458. package/cjs/util/object.js +9 -23
  459. package/cjs/util/object.js.map +1 -1
  460. package/cjs/util/types.js +1 -5
  461. package/cjs/util/types.js.map +1 -1
  462. package/cjs/util/url.js +5 -14
  463. package/cjs/util/url.js.map +1 -1
  464. package/dist/okta-auth-js.authn.min.analyzer.html +3 -3
  465. package/dist/okta-auth-js.authn.min.js +1 -1
  466. package/dist/okta-auth-js.authn.min.js.LICENSE.txt +2 -0
  467. package/dist/okta-auth-js.authn.min.js.map +1 -1
  468. package/dist/okta-auth-js.core.min.analyzer.html +3 -3
  469. package/dist/okta-auth-js.core.min.js +1 -1
  470. package/dist/okta-auth-js.core.min.js.LICENSE.txt +2 -0
  471. package/dist/okta-auth-js.core.min.js.map +1 -1
  472. package/dist/okta-auth-js.idx.min.analyzer.html +3 -3
  473. package/dist/okta-auth-js.idx.min.js +1 -1
  474. package/dist/okta-auth-js.idx.min.js.LICENSE.txt +2 -0
  475. package/dist/okta-auth-js.idx.min.js.map +1 -1
  476. package/dist/okta-auth-js.min.analyzer.html +3 -3
  477. package/dist/okta-auth-js.min.js +1 -1
  478. package/dist/okta-auth-js.min.js.LICENSE.txt +2 -0
  479. package/dist/okta-auth-js.min.js.map +1 -1
  480. package/dist/okta-auth-js.myaccount.min.analyzer.html +3 -3
  481. package/dist/okta-auth-js.myaccount.min.js +1 -1
  482. package/dist/okta-auth-js.myaccount.min.js.LICENSE.txt +2 -0
  483. package/dist/okta-auth-js.myaccount.min.js.map +1 -1
  484. package/dist/okta-auth-js.polyfill.js +1 -1
  485. package/dist/okta-auth-js.polyfill.js.map +1 -1
  486. package/esm/browser/http/OktaUserAgent.js +2 -2
  487. package/esm/browser/http/request.js +56 -23
  488. package/esm/browser/http/request.js.map +1 -1
  489. package/esm/browser/idx/interact.js +2 -2
  490. package/esm/browser/idx/interact.js.map +1 -1
  491. package/esm/browser/idx/run.js +2 -1
  492. package/esm/browser/idx/run.js.map +1 -1
  493. package/esm/browser/idx/transactionMeta.js +3 -2
  494. package/esm/browser/idx/transactionMeta.js.map +1 -1
  495. package/esm/browser/idx/types/idx-js.js.map +1 -1
  496. package/esm/browser/myaccount/request.js +2 -43
  497. package/esm/browser/myaccount/request.js.map +1 -1
  498. package/esm/browser/oidc/endpoints/authorize.js +1 -0
  499. package/esm/browser/oidc/endpoints/authorize.js.map +1 -1
  500. package/esm/browser/oidc/exchangeCodeForTokens.js +2 -1
  501. package/esm/browser/oidc/exchangeCodeForTokens.js.map +1 -1
  502. package/esm/browser/oidc/handleOAuthResponse.js +17 -16
  503. package/esm/browser/oidc/handleOAuthResponse.js.map +1 -1
  504. package/esm/browser/oidc/options/OAuthOptionsConstructor.js +2 -0
  505. package/esm/browser/oidc/options/OAuthOptionsConstructor.js.map +1 -1
  506. package/esm/browser/oidc/util/defaultTokenParams.js +3 -1
  507. package/esm/browser/oidc/util/defaultTokenParams.js.map +1 -1
  508. package/esm/browser/oidc/util/oauthMeta.js +1 -0
  509. package/esm/browser/oidc/util/oauthMeta.js.map +1 -1
  510. package/esm/browser/oidc/util/validateClaims.js +9 -4
  511. package/esm/browser/oidc/util/validateClaims.js.map +1 -1
  512. package/esm/browser/oidc/verifyToken.js +2 -2
  513. package/esm/browser/oidc/verifyToken.js.map +1 -1
  514. package/esm/browser/package.json +1 -1
  515. package/esm/node/http/OktaUserAgent.js +2 -2
  516. package/esm/node/http/request.js +56 -23
  517. package/esm/node/http/request.js.map +1 -1
  518. package/esm/node/idx/interact.js +2 -2
  519. package/esm/node/idx/interact.js.map +1 -1
  520. package/esm/node/idx/run.js +2 -1
  521. package/esm/node/idx/run.js.map +1 -1
  522. package/esm/node/idx/transactionMeta.js +3 -2
  523. package/esm/node/idx/transactionMeta.js.map +1 -1
  524. package/esm/node/idx/types/idx-js.js.map +1 -1
  525. package/esm/node/myaccount/request.js +2 -43
  526. package/esm/node/myaccount/request.js.map +1 -1
  527. package/esm/node/oidc/endpoints/authorize.js +1 -0
  528. package/esm/node/oidc/endpoints/authorize.js.map +1 -1
  529. package/esm/node/oidc/exchangeCodeForTokens.js +2 -1
  530. package/esm/node/oidc/exchangeCodeForTokens.js.map +1 -1
  531. package/esm/node/oidc/handleOAuthResponse.js +17 -16
  532. package/esm/node/oidc/handleOAuthResponse.js.map +1 -1
  533. package/esm/node/oidc/options/OAuthOptionsConstructor.js +2 -0
  534. package/esm/node/oidc/options/OAuthOptionsConstructor.js.map +1 -1
  535. package/esm/node/oidc/util/defaultTokenParams.js +3 -1
  536. package/esm/node/oidc/util/defaultTokenParams.js.map +1 -1
  537. package/esm/node/oidc/util/oauthMeta.js +1 -0
  538. package/esm/node/oidc/util/oauthMeta.js.map +1 -1
  539. package/esm/node/oidc/util/validateClaims.js +9 -4
  540. package/esm/node/oidc/util/validateClaims.js.map +1 -1
  541. package/esm/node/oidc/verifyToken.js +2 -2
  542. package/esm/node/oidc/verifyToken.js.map +1 -1
  543. package/esm/node/package.json +1 -1
  544. package/package.json +12 -13
  545. package/polyfill/index.js +8 -5
  546. package/types/lib/core/options.d.ts +2 -0
  547. package/types/lib/idx/interact.d.ts +1 -0
  548. package/types/lib/idx/options.d.ts +2 -0
  549. package/types/lib/idx/types/idx-js.d.ts +4 -0
  550. package/types/lib/idx/types/meta.d.ts +1 -0
  551. package/types/lib/idx/types/options.d.ts +1 -0
  552. package/types/lib/oidc/options/OAuthOptionsConstructor.d.ts +2 -0
  553. package/types/lib/oidc/types/UserClaims.d.ts +1 -0
  554. package/types/lib/oidc/types/api.d.ts +1 -0
  555. package/types/lib/oidc/types/meta.d.ts +1 -1
  556. package/types/lib/oidc/types/options.d.ts +2 -1
  557. package/types/lib/oidc/types/proto.d.ts +1 -0
  558. package/umd/authn.js +1 -1
  559. package/umd/authn.js.LICENSE.txt +2 -0
  560. package/umd/authn.js.map +1 -1
  561. package/umd/core.js +1 -1
  562. package/umd/core.js.LICENSE.txt +2 -0
  563. package/umd/core.js.map +1 -1
  564. package/umd/default.js +1 -1
  565. package/umd/default.js.LICENSE.txt +2 -0
  566. package/umd/default.js.map +1 -1
  567. package/umd/idx.js +1 -1
  568. package/umd/idx.js.LICENSE.txt +2 -0
  569. package/umd/idx.js.map +1 -1
  570. package/umd/myaccount.js +1 -1
  571. package/umd/myaccount.js.LICENSE.txt +2 -0
  572. package/umd/myaccount.js.map +1 -1
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  exports.default = void 0;
6
-
7
5
  var _jsCookie = _interopRequireDefault(require("js-cookie"));
8
-
9
6
  var _AuthSdkError = _interopRequireDefault(require("../errors/AuthSdkError"));
10
-
11
7
  var _util = require("../util");
12
-
13
8
  var _features = require("../features");
14
-
15
9
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
16
-
17
10
  /*!
18
11
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
19
12
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -26,6 +19,7 @@ var _features = require("../features");
26
19
  * See the License for the specific language governing permissions and limitations under the License.
27
20
  *
28
21
  */
22
+
29
23
  // Building this as an object allows us to mock the functions in our tests
30
24
  var storageUtil = {
31
25
  // IE11 bug that Microsoft doesn't plan to fix
@@ -48,74 +42,61 @@ var storageUtil = {
48
42
  },
49
43
  testStorageType: function (storageType) {
50
44
  var supported = false;
51
-
52
45
  switch (storageType) {
53
46
  case 'sessionStorage':
54
47
  supported = this.browserHasSessionStorage();
55
48
  break;
56
-
57
49
  case 'localStorage':
58
50
  supported = this.browserHasLocalStorage();
59
51
  break;
60
-
61
52
  case 'cookie':
62
53
  case 'memory':
63
54
  supported = true;
64
55
  break;
65
-
66
56
  default:
67
57
  supported = false;
68
58
  break;
69
59
  }
70
-
71
60
  return supported;
72
61
  },
73
62
  getStorageByType: function (storageType, options) {
74
63
  let storageProvider;
75
-
76
64
  switch (storageType) {
77
65
  case 'sessionStorage':
78
66
  storageProvider = this.getSessionStorage();
79
67
  break;
80
-
81
68
  case 'localStorage':
82
69
  storageProvider = this.getLocalStorage();
83
70
  break;
84
-
85
71
  case 'cookie':
86
72
  storageProvider = this.getCookieStorage(options);
87
73
  break;
88
-
89
74
  case 'memory':
90
75
  storageProvider = this.getInMemoryStorage();
91
76
  break;
92
-
93
77
  default:
94
78
  throw new _AuthSdkError.default(`Unrecognized storage option: ${storageType}`);
95
79
  break;
96
80
  }
97
-
98
81
  return storageProvider;
99
82
  },
100
83
  findStorageType: function (types) {
101
84
  let curType;
102
85
  let nextType;
103
86
  types = types.slice(); // copy array
104
-
105
87
  curType = types.shift();
106
88
  nextType = types.length ? types[0] : null;
107
-
108
89
  if (!nextType) {
109
90
  return curType;
110
91
  }
111
-
112
92
  if (this.testStorageType(curType)) {
113
93
  return curType;
114
- } // preferred type was unsupported.
115
-
94
+ }
116
95
 
117
- (0, _util.warn)(`This browser doesn't support ${curType}. Switching to ${nextType}.`); // fallback to the next type. this is a recursive call
96
+ // preferred type was unsupported.
97
+ (0, _util.warn)(`This browser doesn't support ${curType}. Switching to ${nextType}.`);
118
98
 
99
+ // fallback to the next type. this is a recursive call
119
100
  return this.findStorageType(types);
120
101
  },
121
102
  getLocalStorage: function () {
@@ -123,7 +104,6 @@ var storageUtil = {
123
104
  if ((0, _features.isIE11OrLess)() && !window.onstorage) {
124
105
  window.onstorage = function () {};
125
106
  }
126
-
127
107
  return localStorage;
128
108
  },
129
109
  getSessionStorage: function () {
@@ -134,11 +114,9 @@ var storageUtil = {
134
114
  const secure = options.secure;
135
115
  const sameSite = options.sameSite;
136
116
  const sessionCookie = options.sessionCookie;
137
-
138
117
  if (typeof secure === 'undefined' || typeof sameSite === 'undefined') {
139
118
  throw new _AuthSdkError.default('getCookieStorage: "secure" and "sameSite" options must be provided');
140
119
  }
141
-
142
120
  const storage = {
143
121
  getItem: this.storage.get,
144
122
  setItem: (key, value, expiresAt = '2200-01-01T00:00:00.000Z') => {
@@ -153,18 +131,16 @@ var storageUtil = {
153
131
  this.storage.delete(key);
154
132
  }
155
133
  };
156
-
157
134
  if (!options.useSeparateCookies) {
158
135
  return storage;
159
- } // Tokens are stored separately because cookies have size limits.
136
+ }
137
+
138
+ // Tokens are stored separately because cookies have size limits.
160
139
  // Can only be used when storing an object value. Object properties will be saved to separate cookies.
161
140
  // Each property of the object must also be an object.
162
-
163
-
164
141
  return {
165
142
  getItem: function (key) {
166
143
  var data = storage.getItem(); // read all cookies
167
-
168
144
  var value = {};
169
145
  Object.keys(data).forEach(k => {
170
146
  if (k.indexOf(key) === 0) {
@@ -172,19 +148,20 @@ var storageUtil = {
172
148
  value[k.replace(`${key}_`, '')] = JSON.parse(data[k]); // populate with cookie data
173
149
  }
174
150
  });
151
+
175
152
  return JSON.stringify(value);
176
153
  },
177
154
  setItem: function (key, value) {
178
155
  var existingValues = JSON.parse(this.getItem(key));
179
- value = JSON.parse(value); // Set key-value pairs from input to cookies
180
-
156
+ value = JSON.parse(value);
157
+ // Set key-value pairs from input to cookies
181
158
  Object.keys(value).forEach(k => {
182
159
  var storageKey = key + '_' + k;
183
160
  var valueToStore = JSON.stringify(value[k]);
184
161
  storage.setItem(storageKey, valueToStore);
185
162
  delete existingValues[k];
186
- }); // Delete unmatched keys from existing cookies
187
-
163
+ });
164
+ // Delete unmatched keys from existing cookies
188
165
  Object.keys(existingValues).forEach(k => {
189
166
  storage.removeItem(key + '_' + k);
190
167
  });
@@ -212,7 +189,6 @@ var storageUtil = {
212
189
  },
213
190
  testStorage: function (storage) {
214
191
  var key = 'okta-test-storage';
215
-
216
192
  try {
217
193
  storage.setItem(key, key);
218
194
  storage.removeItem(key);
@@ -227,17 +203,16 @@ var storageUtil = {
227
203
  sameSite,
228
204
  secure
229
205
  } = options;
230
-
231
206
  if (typeof secure === 'undefined' || typeof sameSite === 'undefined') {
232
207
  throw new _AuthSdkError.default('storage.set: "secure" and "sameSite" options must be provided');
233
208
  }
234
-
235
209
  var cookieOptions = {
236
210
  path: options.path || '/',
237
211
  secure,
238
212
  sameSite
239
- }; // eslint-disable-next-line no-extra-boolean-cast
213
+ };
240
214
 
215
+ // eslint-disable-next-line no-extra-boolean-cast
241
216
  if (!!Date.parse(expiresAt)) {
242
217
  // Expires value can be converted to a Date object.
243
218
  //
@@ -245,9 +220,7 @@ var storageUtil = {
245
220
  // parsed as a Date object, the cookie will set as a session cookie.
246
221
  cookieOptions.expires = new Date(expiresAt);
247
222
  }
248
-
249
223
  _jsCookie.default.set(name, value, cookieOptions);
250
-
251
224
  return this.get(name);
252
225
  },
253
226
  get: function (name) {
@@ -255,7 +228,6 @@ var storageUtil = {
255
228
  if (!arguments.length) {
256
229
  return _jsCookie.default.get();
257
230
  }
258
-
259
231
  return _jsCookie.default.get(name);
260
232
  },
261
233
  delete: function (name) {
@@ -1 +1 @@
1
- {"version":3,"file":"browserStorage.js","names":["storageUtil","browserHasLocalStorage","storage","getLocalStorage","testStorage","e","browserHasSessionStorage","getSessionStorage","testStorageType","storageType","supported","getStorageByType","options","storageProvider","getCookieStorage","getInMemoryStorage","AuthSdkError","findStorageType","types","curType","nextType","slice","shift","length","warn","isIE11OrLess","window","onstorage","localStorage","sessionStorage","secure","sameSite","sessionCookie","getItem","get","setItem","key","value","expiresAt","set","removeItem","delete","useSeparateCookies","data","Object","keys","forEach","k","indexOf","replace","JSON","parse","stringify","existingValues","storageKey","valueToStore","inMemoryStore","name","cookieOptions","path","Date","expires","Cookies","arguments","remove"],"sources":["../../../lib/browser/browserStorage.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\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 */\n\nimport Cookies from 'js-cookie';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport {\n StorageOptions,\n CookieOptions,\n SimpleStorage,\n StorageType,\n StorageUtil,\n} from '../storage/types';\nimport { warn } from '../util';\nimport { isIE11OrLess } from '../features';\n\nexport interface CookieStorage extends SimpleStorage {\n setItem(key: string, value: any, expiresAt?: string | null): void; // can customize expiresAt\n getItem(key?: string): any; // if no key is passed, all cookies are returned\n removeItem(key: string); // remove a cookie\n}\n\nexport interface BrowserStorageUtil extends StorageUtil {\n browserHasLocalStorage(): boolean;\n browserHasSessionStorage(): boolean;\n getStorageByType(storageType: StorageType, options: StorageOptions): SimpleStorage;\n getLocalStorage(): Storage;\n getSessionStorage(): Storage;\n getInMemoryStorage(): SimpleStorage;\n getCookieStorage(options?: StorageOptions): CookieStorage;\n testStorage(storage: any): boolean;\n storage: Cookies;\n inMemoryStore: Record<string, unknown>;\n}\n\n// Building this as an object allows us to mock the functions in our tests\nvar storageUtil: BrowserStorageUtil = {\n\n // IE11 bug that Microsoft doesn't plan to fix\n // https://connect.microsoft.com/IE/Feedback/Details/1496040\n browserHasLocalStorage: function() {\n try {\n var storage = this.getLocalStorage();\n return this.testStorage(storage);\n } catch (e) {\n return false;\n }\n },\n\n browserHasSessionStorage: function() {\n try {\n var storage = this.getSessionStorage();\n return this.testStorage(storage);\n } catch (e) {\n return false;\n }\n },\n\n testStorageType: function(storageType: StorageType): boolean {\n var supported = false;\n switch (storageType) {\n case 'sessionStorage':\n supported = this.browserHasSessionStorage();\n break;\n case 'localStorage':\n supported = this.browserHasLocalStorage();\n break;\n case 'cookie':\n case 'memory':\n supported = true;\n break;\n default:\n supported = false;\n break;\n }\n return supported;\n },\n\n getStorageByType: function(storageType: StorageType, options?: StorageOptions): SimpleStorage {\n let storageProvider;\n switch (storageType) {\n case 'sessionStorage':\n storageProvider = this.getSessionStorage();\n break;\n case 'localStorage':\n storageProvider = this.getLocalStorage();\n break;\n case 'cookie':\n storageProvider = this.getCookieStorage(options);\n break;\n case 'memory':\n storageProvider = this.getInMemoryStorage();\n break;\n default:\n throw new AuthSdkError(`Unrecognized storage option: ${storageType}`);\n break;\n }\n return storageProvider;\n },\n\n findStorageType: function(types: StorageType[]) {\n let curType;\n let nextType;\n \n types = types.slice(); // copy array\n curType = types.shift();\n nextType = types.length ? types[0] : null;\n if (!nextType) {\n return curType;\n }\n\n if (this.testStorageType(curType)) {\n return curType;\n }\n\n // preferred type was unsupported.\n warn(`This browser doesn't support ${curType}. Switching to ${nextType}.`);\n\n // fallback to the next type. this is a recursive call\n return this.findStorageType(types);\n },\n\n getLocalStorage: function() {\n // Workaound for synchronization issue of LocalStorage cross tabs in IE11\n if (isIE11OrLess() && !window.onstorage) {\n window.onstorage = function() {};\n }\n \n return localStorage;\n },\n\n getSessionStorage: function() {\n return sessionStorage;\n },\n\n // Provides webStorage-like interface for cookies\n getCookieStorage: function(options): CookieStorage {\n const secure = options!.secure;\n const sameSite = options!.sameSite;\n const sessionCookie = options!.sessionCookie;\n if (typeof secure === 'undefined' || typeof sameSite === 'undefined') {\n throw new AuthSdkError('getCookieStorage: \"secure\" and \"sameSite\" options must be provided');\n }\n const storage: CookieStorage = {\n getItem: this.storage.get,\n setItem: (key, value, expiresAt = '2200-01-01T00:00:00.000Z') => {\n // By defauilt, cookie shouldn't expire\n expiresAt = (sessionCookie ? null : expiresAt) as string;\n this.storage.set(key, value, expiresAt, {\n secure: secure, \n sameSite: sameSite,\n });\n },\n removeItem: (key) => {\n this.storage.delete(key);\n },\n };\n\n if (!options!.useSeparateCookies) {\n return storage;\n }\n\n // Tokens are stored separately because cookies have size limits.\n // Can only be used when storing an object value. Object properties will be saved to separate cookies.\n // Each property of the object must also be an object.\n return {\n getItem: function(key) {\n var data = storage.getItem(); // read all cookies\n var value = {};\n Object.keys(data).forEach(k => {\n if (k.indexOf(key!) === 0) { // filter out unrelated cookies\n value[k.replace(`${key}_`, '')] = JSON.parse(data[k]); // populate with cookie data\n }\n });\n return JSON.stringify(value);\n },\n setItem: function(key, value) {\n var existingValues = JSON.parse(this.getItem(key));\n value = JSON.parse(value);\n // Set key-value pairs from input to cookies\n Object.keys(value).forEach(k => {\n var storageKey = key + '_' + k;\n var valueToStore = JSON.stringify(value[k]);\n storage.setItem(storageKey, valueToStore);\n delete existingValues[k];\n });\n // Delete unmatched keys from existing cookies\n Object.keys(existingValues).forEach(k => {\n storage.removeItem(key + '_' + k);\n });\n },\n removeItem: function(key) {\n var existingValues = JSON.parse(this.getItem(key));\n Object.keys(existingValues).forEach(k => {\n storage.removeItem(key + '_' + k);\n });\n },\n };\n },\n\n // Provides an in-memory solution\n inMemoryStore: {}, // override this for a unique memory store per instance\n getInMemoryStorage: function() {\n return {\n getItem: (key) => {\n return this.inMemoryStore[key];\n },\n setItem: (key, value) => {\n this.inMemoryStore[key] = value;\n },\n };\n },\n\n testStorage: function(storage) {\n var key = 'okta-test-storage';\n try {\n storage.setItem(key, key);\n storage.removeItem(key);\n return true;\n } catch (e) {\n return false;\n }\n },\n\n storage: {\n set: function(name: string, value: string, expiresAt: string, options: CookieOptions): string {\n const { sameSite, secure } = options;\n if (typeof secure === 'undefined' || typeof sameSite === 'undefined') {\n throw new AuthSdkError('storage.set: \"secure\" and \"sameSite\" options must be provided');\n }\n var cookieOptions: CookieOptions = {\n path: options.path || '/',\n secure,\n sameSite\n };\n\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!(Date.parse(expiresAt))) {\n // Expires value can be converted to a Date object.\n //\n // If the 'expiresAt' value is not provided, or the value cannot be\n // parsed as a Date object, the cookie will set as a session cookie.\n cookieOptions.expires = new Date(expiresAt);\n }\n\n Cookies.set(name, value, cookieOptions);\n return this.get(name);\n },\n\n get: function(name?: string): string {\n // return all cookies when no args is provided\n if (!arguments.length) {\n return Cookies.get();\n }\n return Cookies.get(name);\n },\n\n delete: function(name: string): string {\n return Cookies.remove(name, { path: '/' });\n }\n }\n};\n\nexport default storageUtil;\n"],"mappings":"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"}
1
+ {"version":3,"file":"browserStorage.js","names":["storageUtil","browserHasLocalStorage","storage","getLocalStorage","testStorage","e","browserHasSessionStorage","getSessionStorage","testStorageType","storageType","supported","getStorageByType","options","storageProvider","getCookieStorage","getInMemoryStorage","AuthSdkError","findStorageType","types","curType","nextType","slice","shift","length","warn","isIE11OrLess","window","onstorage","localStorage","sessionStorage","secure","sameSite","sessionCookie","getItem","get","setItem","key","value","expiresAt","set","removeItem","delete","useSeparateCookies","data","Object","keys","forEach","k","indexOf","replace","JSON","parse","stringify","existingValues","storageKey","valueToStore","inMemoryStore","name","cookieOptions","path","Date","expires","Cookies","arguments","remove"],"sources":["../../../lib/browser/browserStorage.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\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 */\n\nimport Cookies from 'js-cookie';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport {\n StorageOptions,\n CookieOptions,\n SimpleStorage,\n StorageType,\n StorageUtil,\n} from '../storage/types';\nimport { warn } from '../util';\nimport { isIE11OrLess } from '../features';\n\nexport interface CookieStorage extends SimpleStorage {\n setItem(key: string, value: any, expiresAt?: string | null): void; // can customize expiresAt\n getItem(key?: string): any; // if no key is passed, all cookies are returned\n removeItem(key: string); // remove a cookie\n}\n\nexport interface BrowserStorageUtil extends StorageUtil {\n browserHasLocalStorage(): boolean;\n browserHasSessionStorage(): boolean;\n getStorageByType(storageType: StorageType, options: StorageOptions): SimpleStorage;\n getLocalStorage(): Storage;\n getSessionStorage(): Storage;\n getInMemoryStorage(): SimpleStorage;\n getCookieStorage(options?: StorageOptions): CookieStorage;\n testStorage(storage: any): boolean;\n storage: Cookies;\n inMemoryStore: Record<string, unknown>;\n}\n\n// Building this as an object allows us to mock the functions in our tests\nvar storageUtil: BrowserStorageUtil = {\n\n // IE11 bug that Microsoft doesn't plan to fix\n // https://connect.microsoft.com/IE/Feedback/Details/1496040\n browserHasLocalStorage: function() {\n try {\n var storage = this.getLocalStorage();\n return this.testStorage(storage);\n } catch (e) {\n return false;\n }\n },\n\n browserHasSessionStorage: function() {\n try {\n var storage = this.getSessionStorage();\n return this.testStorage(storage);\n } catch (e) {\n return false;\n }\n },\n\n testStorageType: function(storageType: StorageType): boolean {\n var supported = false;\n switch (storageType) {\n case 'sessionStorage':\n supported = this.browserHasSessionStorage();\n break;\n case 'localStorage':\n supported = this.browserHasLocalStorage();\n break;\n case 'cookie':\n case 'memory':\n supported = true;\n break;\n default:\n supported = false;\n break;\n }\n return supported;\n },\n\n getStorageByType: function(storageType: StorageType, options?: StorageOptions): SimpleStorage {\n let storageProvider;\n switch (storageType) {\n case 'sessionStorage':\n storageProvider = this.getSessionStorage();\n break;\n case 'localStorage':\n storageProvider = this.getLocalStorage();\n break;\n case 'cookie':\n storageProvider = this.getCookieStorage(options);\n break;\n case 'memory':\n storageProvider = this.getInMemoryStorage();\n break;\n default:\n throw new AuthSdkError(`Unrecognized storage option: ${storageType}`);\n break;\n }\n return storageProvider;\n },\n\n findStorageType: function(types: StorageType[]) {\n let curType;\n let nextType;\n \n types = types.slice(); // copy array\n curType = types.shift();\n nextType = types.length ? types[0] : null;\n if (!nextType) {\n return curType;\n }\n\n if (this.testStorageType(curType)) {\n return curType;\n }\n\n // preferred type was unsupported.\n warn(`This browser doesn't support ${curType}. Switching to ${nextType}.`);\n\n // fallback to the next type. this is a recursive call\n return this.findStorageType(types);\n },\n\n getLocalStorage: function() {\n // Workaound for synchronization issue of LocalStorage cross tabs in IE11\n if (isIE11OrLess() && !window.onstorage) {\n window.onstorage = function() {};\n }\n \n return localStorage;\n },\n\n getSessionStorage: function() {\n return sessionStorage;\n },\n\n // Provides webStorage-like interface for cookies\n getCookieStorage: function(options): CookieStorage {\n const secure = options!.secure;\n const sameSite = options!.sameSite;\n const sessionCookie = options!.sessionCookie;\n if (typeof secure === 'undefined' || typeof sameSite === 'undefined') {\n throw new AuthSdkError('getCookieStorage: \"secure\" and \"sameSite\" options must be provided');\n }\n const storage: CookieStorage = {\n getItem: this.storage.get,\n setItem: (key, value, expiresAt = '2200-01-01T00:00:00.000Z') => {\n // By defauilt, cookie shouldn't expire\n expiresAt = (sessionCookie ? null : expiresAt) as string;\n this.storage.set(key, value, expiresAt, {\n secure: secure, \n sameSite: sameSite,\n });\n },\n removeItem: (key) => {\n this.storage.delete(key);\n },\n };\n\n if (!options!.useSeparateCookies) {\n return storage;\n }\n\n // Tokens are stored separately because cookies have size limits.\n // Can only be used when storing an object value. Object properties will be saved to separate cookies.\n // Each property of the object must also be an object.\n return {\n getItem: function(key) {\n var data = storage.getItem(); // read all cookies\n var value = {};\n Object.keys(data).forEach(k => {\n if (k.indexOf(key!) === 0) { // filter out unrelated cookies\n value[k.replace(`${key}_`, '')] = JSON.parse(data[k]); // populate with cookie data\n }\n });\n return JSON.stringify(value);\n },\n setItem: function(key, value) {\n var existingValues = JSON.parse(this.getItem(key));\n value = JSON.parse(value);\n // Set key-value pairs from input to cookies\n Object.keys(value).forEach(k => {\n var storageKey = key + '_' + k;\n var valueToStore = JSON.stringify(value[k]);\n storage.setItem(storageKey, valueToStore);\n delete existingValues[k];\n });\n // Delete unmatched keys from existing cookies\n Object.keys(existingValues).forEach(k => {\n storage.removeItem(key + '_' + k);\n });\n },\n removeItem: function(key) {\n var existingValues = JSON.parse(this.getItem(key));\n Object.keys(existingValues).forEach(k => {\n storage.removeItem(key + '_' + k);\n });\n },\n };\n },\n\n // Provides an in-memory solution\n inMemoryStore: {}, // override this for a unique memory store per instance\n getInMemoryStorage: function() {\n return {\n getItem: (key) => {\n return this.inMemoryStore[key];\n },\n setItem: (key, value) => {\n this.inMemoryStore[key] = value;\n },\n };\n },\n\n testStorage: function(storage) {\n var key = 'okta-test-storage';\n try {\n storage.setItem(key, key);\n storage.removeItem(key);\n return true;\n } catch (e) {\n return false;\n }\n },\n\n storage: {\n set: function(name: string, value: string, expiresAt: string, options: CookieOptions): string {\n const { sameSite, secure } = options;\n if (typeof secure === 'undefined' || typeof sameSite === 'undefined') {\n throw new AuthSdkError('storage.set: \"secure\" and \"sameSite\" options must be provided');\n }\n var cookieOptions: CookieOptions = {\n path: options.path || '/',\n secure,\n sameSite\n };\n\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!(Date.parse(expiresAt))) {\n // Expires value can be converted to a Date object.\n //\n // If the 'expiresAt' value is not provided, or the value cannot be\n // parsed as a Date object, the cookie will set as a session cookie.\n cookieOptions.expires = new Date(expiresAt);\n }\n\n Cookies.set(name, value, cookieOptions);\n return this.get(name);\n },\n\n get: function(name?: string): string {\n // return all cookies when no args is provided\n if (!arguments.length) {\n return Cookies.get();\n }\n return Cookies.get(name);\n },\n\n delete: function(name: string): string {\n return Cookies.remove(name, { path: '/' });\n }\n }\n};\n\nexport default storageUtil;\n"],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = fingerprint;
4
-
5
4
  var _errors = require("../errors");
6
-
7
5
  var _features = require("../features");
8
-
9
6
  var _oidc = require("../oidc");
10
-
11
7
  /*!
12
8
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
13
9
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -19,27 +15,25 @@ var _oidc = require("../oidc");
19
15
  *
20
16
  * See the License for the specific language governing permissions and limitations under the License.
21
17
  */
18
+
22
19
  function fingerprint(sdk, options) {
23
20
  options = options || {};
24
-
25
21
  if (!(0, _features.isFingerprintSupported)()) {
26
22
  return Promise.reject(new _errors.AuthSdkError('Fingerprinting is not supported on this device'));
27
23
  }
28
-
29
24
  var timeout;
30
25
  var iframe;
31
26
  var listener;
32
27
  var promise = new Promise(function (resolve, reject) {
33
28
  var _options;
34
-
35
29
  iframe = document.createElement('iframe');
36
- iframe.style.display = 'none'; // eslint-disable-next-line complexity
30
+ iframe.style.display = 'none';
37
31
 
32
+ // eslint-disable-next-line complexity
38
33
  listener = function listener(e) {
39
34
  if (!e || !e.data || e.origin !== sdk.getIssuerOrigin()) {
40
35
  return;
41
36
  }
42
-
43
37
  try {
44
38
  var msg = JSON.parse(e.data);
45
39
  } catch (err) {
@@ -48,22 +42,18 @@ function fingerprint(sdk, options) {
48
42
  // TODO: add namespace flag in okta-core to distinguish messages that come from other sources
49
43
  return;
50
44
  }
51
-
52
45
  if (!msg) {
53
46
  return;
54
47
  }
55
-
56
48
  if (msg.type === 'FingerprintAvailable') {
57
49
  return resolve(msg.fingerprint);
58
50
  }
59
-
60
51
  if (msg.type === 'FingerprintServiceReady') {
61
52
  e.source.postMessage(JSON.stringify({
62
53
  type: 'GetFingerprint'
63
54
  }), e.origin);
64
55
  }
65
56
  };
66
-
67
57
  (0, _oidc.addListener)(window, 'message', listener);
68
58
  iframe.src = sdk.getIssuerOrigin() + '/auth/services/devicefingerprint';
69
59
  document.body.appendChild(iframe);
@@ -74,12 +64,10 @@ function fingerprint(sdk, options) {
74
64
  return promise.finally(function () {
75
65
  clearTimeout(timeout);
76
66
  (0, _oidc.removeListener)(window, 'message', listener);
77
-
78
67
  if (document.body.contains(iframe)) {
79
68
  iframe.parentElement.removeChild(iframe);
80
69
  }
81
70
  });
82
71
  }
83
-
84
72
  module.exports = exports.default;
85
73
  //# sourceMappingURL=fingerprint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.js","names":["fingerprint","sdk","options","isFingerprintSupported","Promise","reject","AuthSdkError","timeout","iframe","listener","promise","resolve","document","createElement","style","display","e","data","origin","getIssuerOrigin","msg","JSON","parse","err","type","source","postMessage","stringify","addListener","window","src","body","appendChild","setTimeout","finally","clearTimeout","removeListener","contains","parentElement","removeChild"],"sources":["../../../lib/browser/fingerprint.ts"],"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 { AuthSdkError } from '../errors';\nimport { isFingerprintSupported } from '../features';\nimport {\n addListener,\n removeListener\n} from '../oidc';\nimport { FingerprintOptions } from '../authn/types';\nimport { OktaAuthHttpInterface } from '../http/types';\n\nexport default function fingerprint(sdk: OktaAuthHttpInterface, options?: FingerprintOptions): Promise<string> {\n options = options || {};\n\n if (!isFingerprintSupported()) {\n return Promise.reject(new AuthSdkError('Fingerprinting is not supported on this device'));\n }\n\n var timeout;\n var iframe;\n var listener;\n var promise = new Promise(function (resolve, reject) {\n iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n\n // eslint-disable-next-line complexity\n listener = function listener(e) {\n if (!e || !e.data || e.origin !== sdk.getIssuerOrigin()) {\n return;\n }\n\n try {\n var msg = JSON.parse(e.data);\n } catch (err) {\n // iframe messages should all be parsable\n // skip not parsable messages come from other sources in same origin (browser extensions)\n // TODO: add namespace flag in okta-core to distinguish messages that come from other sources\n return;\n }\n\n if (!msg) { return; }\n if (msg.type === 'FingerprintAvailable') {\n return resolve(msg.fingerprint as string);\n }\n if (msg.type === 'FingerprintServiceReady') {\n e.source.postMessage(JSON.stringify({\n type: 'GetFingerprint'\n }), e.origin);\n }\n };\n addListener(window, 'message', listener);\n\n iframe.src = sdk.getIssuerOrigin() + '/auth/services/devicefingerprint';\n document.body.appendChild(iframe);\n\n timeout = setTimeout(function() {\n reject(new AuthSdkError('Fingerprinting timed out'));\n }, options?.timeout || 15000);\n });\n\n return promise.finally(function() {\n clearTimeout(timeout);\n removeListener(window, 'message', listener);\n if (document.body.contains(iframe)) {\n iframe.parentElement.removeChild(iframe);\n }\n }) as Promise<string>;\n}\n"],"mappings":";;;;AAaA;;AACA;;AACA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYe,SAASA,WAAT,CAAqBC,GAArB,EAAiDC,OAAjD,EAAgG;EAC7GA,OAAO,GAAGA,OAAO,IAAI,EAArB;;EAEA,IAAI,CAAC,IAAAC,gCAAA,GAAL,EAA+B;IAC7B,OAAOC,OAAO,CAACC,MAAR,CAAe,IAAIC,oBAAJ,CAAiB,gDAAjB,CAAf,CAAP;EACD;;EAED,IAAIC,OAAJ;EACA,IAAIC,MAAJ;EACA,IAAIC,QAAJ;EACA,IAAIC,OAAO,GAAG,IAAIN,OAAJ,CAAY,UAAUO,OAAV,EAAmBN,MAAnB,EAA2B;IAAA;;IACnDG,MAAM,GAAGI,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAT;IACAL,MAAM,CAACM,KAAP,CAAaC,OAAb,GAAuB,MAAvB,CAFmD,CAInD;;IACAN,QAAQ,GAAG,SAASA,QAAT,CAAkBO,CAAlB,EAAqB;MAC9B,IAAI,CAACA,CAAD,IAAM,CAACA,CAAC,CAACC,IAAT,IAAiBD,CAAC,CAACE,MAAF,KAAajB,GAAG,CAACkB,eAAJ,EAAlC,EAAyD;QACvD;MACD;;MAED,IAAI;QACF,IAAIC,GAAG,GAAGC,IAAI,CAACC,KAAL,CAAWN,CAAC,CAACC,IAAb,CAAV;MACD,CAFD,CAEE,OAAOM,GAAP,EAAY;QACZ;QACA;QACA;QACA;MACD;;MAED,IAAI,CAACH,GAAL,EAAU;QAAE;MAAS;;MACrB,IAAIA,GAAG,CAACI,IAAJ,KAAa,sBAAjB,EAAyC;QACvC,OAAOb,OAAO,CAACS,GAAG,CAACpB,WAAL,CAAd;MACD;;MACD,IAAIoB,GAAG,CAACI,IAAJ,KAAa,yBAAjB,EAA4C;QAC1CR,CAAC,CAACS,MAAF,CAASC,WAAT,CAAqBL,IAAI,CAACM,SAAL,CAAe;UAClCH,IAAI,EAAE;QAD4B,CAAf,CAArB,EAEIR,CAAC,CAACE,MAFN;MAGD;IACF,CAvBD;;IAwBA,IAAAU,iBAAA,EAAYC,MAAZ,EAAoB,SAApB,EAA+BpB,QAA/B;IAEAD,MAAM,CAACsB,GAAP,GAAa7B,GAAG,CAACkB,eAAJ,KAAwB,kCAArC;IACAP,QAAQ,CAACmB,IAAT,CAAcC,WAAd,CAA0BxB,MAA1B;IAEAD,OAAO,GAAG0B,UAAU,CAAC,YAAW;MAC9B5B,MAAM,CAAC,IAAIC,oBAAJ,CAAiB,0BAAjB,CAAD,CAAN;IACD,CAFmB,EAEjB,aAAAJ,OAAO,UAAP,4CAASK,OAAT,KAAoB,KAFH,CAApB;EAGD,CArCa,CAAd;EAuCA,OAAOG,OAAO,CAACwB,OAAR,CAAgB,YAAW;IAChCC,YAAY,CAAC5B,OAAD,CAAZ;IACA,IAAA6B,oBAAA,EAAeP,MAAf,EAAuB,SAAvB,EAAkCpB,QAAlC;;IACA,IAAIG,QAAQ,CAACmB,IAAT,CAAcM,QAAd,CAAuB7B,MAAvB,CAAJ,EAAoC;MAClCA,MAAM,CAAC8B,aAAP,CAAqBC,WAArB,CAAiC/B,MAAjC;IACD;EACF,CANM,CAAP;AAOD"}
1
+ {"version":3,"file":"fingerprint.js","names":["fingerprint","sdk","options","isFingerprintSupported","Promise","reject","AuthSdkError","timeout","iframe","listener","promise","resolve","document","createElement","style","display","e","data","origin","getIssuerOrigin","msg","JSON","parse","err","type","source","postMessage","stringify","addListener","window","src","body","appendChild","setTimeout","finally","clearTimeout","removeListener","contains","parentElement","removeChild"],"sources":["../../../lib/browser/fingerprint.ts"],"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 { AuthSdkError } from '../errors';\nimport { isFingerprintSupported } from '../features';\nimport {\n addListener,\n removeListener\n} from '../oidc';\nimport { FingerprintOptions } from '../authn/types';\nimport { OktaAuthHttpInterface } from '../http/types';\n\nexport default function fingerprint(sdk: OktaAuthHttpInterface, options?: FingerprintOptions): Promise<string> {\n options = options || {};\n\n if (!isFingerprintSupported()) {\n return Promise.reject(new AuthSdkError('Fingerprinting is not supported on this device'));\n }\n\n var timeout;\n var iframe;\n var listener;\n var promise = new Promise(function (resolve, reject) {\n iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n\n // eslint-disable-next-line complexity\n listener = function listener(e) {\n if (!e || !e.data || e.origin !== sdk.getIssuerOrigin()) {\n return;\n }\n\n try {\n var msg = JSON.parse(e.data);\n } catch (err) {\n // iframe messages should all be parsable\n // skip not parsable messages come from other sources in same origin (browser extensions)\n // TODO: add namespace flag in okta-core to distinguish messages that come from other sources\n return;\n }\n\n if (!msg) { return; }\n if (msg.type === 'FingerprintAvailable') {\n return resolve(msg.fingerprint as string);\n }\n if (msg.type === 'FingerprintServiceReady') {\n e.source.postMessage(JSON.stringify({\n type: 'GetFingerprint'\n }), e.origin);\n }\n };\n addListener(window, 'message', listener);\n\n iframe.src = sdk.getIssuerOrigin() + '/auth/services/devicefingerprint';\n document.body.appendChild(iframe);\n\n timeout = setTimeout(function() {\n reject(new AuthSdkError('Fingerprinting timed out'));\n }, options?.timeout || 15000);\n });\n\n return promise.finally(function() {\n clearTimeout(timeout);\n removeListener(window, 'message', listener);\n if (document.body.contains(iframe)) {\n iframe.parentElement.removeChild(iframe);\n }\n }) as Promise<string>;\n}\n"],"mappings":";;;AAaA;AACA;AACA;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYe,SAASA,WAAW,CAACC,GAA0B,EAAEC,OAA4B,EAAmB;EAC7GA,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EAEvB,IAAI,CAAC,IAAAC,gCAAsB,GAAE,EAAE;IAC7B,OAAOC,OAAO,CAACC,MAAM,CAAC,IAAIC,oBAAY,CAAC,gDAAgD,CAAC,CAAC;EAC3F;EAEA,IAAIC,OAAO;EACX,IAAIC,MAAM;EACV,IAAIC,QAAQ;EACZ,IAAIC,OAAO,GAAG,IAAIN,OAAO,CAAC,UAAUO,OAAO,EAAEN,MAAM,EAAE;IAAA;IACnDG,MAAM,GAAGI,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;IACzCL,MAAM,CAACM,KAAK,CAACC,OAAO,GAAG,MAAM;;IAE7B;IACAN,QAAQ,GAAG,SAASA,QAAQ,CAACO,CAAC,EAAE;MAC9B,IAAI,CAACA,CAAC,IAAI,CAACA,CAAC,CAACC,IAAI,IAAID,CAAC,CAACE,MAAM,KAAKjB,GAAG,CAACkB,eAAe,EAAE,EAAE;QACvD;MACF;MAEA,IAAI;QACF,IAAIC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACN,CAAC,CAACC,IAAI,CAAC;MAC9B,CAAC,CAAC,OAAOM,GAAG,EAAE;QACZ;QACA;QACA;QACA;MACF;MAEA,IAAI,CAACH,GAAG,EAAE;QAAE;MAAQ;MACpB,IAAIA,GAAG,CAACI,IAAI,KAAK,sBAAsB,EAAE;QACvC,OAAOb,OAAO,CAACS,GAAG,CAACpB,WAAW,CAAW;MAC3C;MACA,IAAIoB,GAAG,CAACI,IAAI,KAAK,yBAAyB,EAAE;QAC1CR,CAAC,CAACS,MAAM,CAACC,WAAW,CAACL,IAAI,CAACM,SAAS,CAAC;UAClCH,IAAI,EAAE;QACR,CAAC,CAAC,EAAER,CAAC,CAACE,MAAM,CAAC;MACf;IACF,CAAC;IACD,IAAAU,iBAAW,EAACC,MAAM,EAAE,SAAS,EAAEpB,QAAQ,CAAC;IAExCD,MAAM,CAACsB,GAAG,GAAG7B,GAAG,CAACkB,eAAe,EAAE,GAAG,kCAAkC;IACvEP,QAAQ,CAACmB,IAAI,CAACC,WAAW,CAACxB,MAAM,CAAC;IAEjCD,OAAO,GAAG0B,UAAU,CAAC,YAAW;MAC9B5B,MAAM,CAAC,IAAIC,oBAAY,CAAC,0BAA0B,CAAC,CAAC;IACtD,CAAC,EAAE,aAAAJ,OAAO,6CAAP,SAASK,OAAO,KAAI,KAAK,CAAC;EAC/B,CAAC,CAAC;EAEF,OAAOG,OAAO,CAACwB,OAAO,CAAC,YAAW;IAChCC,YAAY,CAAC5B,OAAO,CAAC;IACrB,IAAA6B,oBAAc,EAACP,MAAM,EAAE,SAAS,EAAEpB,QAAQ,CAAC;IAC3C,IAAIG,QAAQ,CAACmB,IAAI,CAACM,QAAQ,CAAC7B,MAAM,CAAC,EAAE;MAClCA,MAAM,CAAC8B,aAAa,CAACC,WAAW,CAAC/B,MAAM,CAAC;IAC1C;EACF,CAAC,CAAC;AACJ;AAAC"}
package/cjs/clock.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  /*!
6
5
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
7
6
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -13,27 +12,26 @@ exports.default = void 0;
13
12
  *
14
13
  * See the License for the specific language governing permissions and limitations under the License.
15
14
  */
15
+
16
16
  class SdkClock {
17
17
  constructor(localOffset) {
18
18
  // Calculated local clock offset from server time (in milliseconds). Can be positive or negative.
19
19
  this.localOffset = parseInt(localOffset || 0);
20
- } // factory method. Create an instance of a clock from current context.
21
-
20
+ }
22
21
 
22
+ // factory method. Create an instance of a clock from current context.
23
23
  static create() {
24
24
  // TODO: calculate localOffset
25
25
  var localOffset = 0;
26
26
  return new SdkClock(localOffset);
27
- } // Return the current time (in seconds)
28
-
27
+ }
29
28
 
29
+ // Return the current time (in seconds)
30
30
  now() {
31
31
  var now = (Date.now() + this.localOffset) / 1000;
32
32
  return now;
33
33
  }
34
-
35
34
  }
36
-
37
35
  exports.default = SdkClock;
38
36
  module.exports = exports.default;
39
37
  //# sourceMappingURL=clock.js.map
package/cjs/clock.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"clock.js","names":["SdkClock","constructor","localOffset","parseInt","create","now","Date"],"sources":["../../lib/clock.ts"],"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\nexport default class SdkClock {\n localOffset: number;\n\n constructor(localOffset) {\n // Calculated local clock offset from server time (in milliseconds). Can be positive or negative.\n this.localOffset = parseInt(localOffset || 0);\n }\n\n // factory method. Create an instance of a clock from current context.\n static create(/* sdk, options */): SdkClock {\n // TODO: calculate localOffset\n var localOffset = 0;\n return new SdkClock(localOffset);\n }\n\n // Return the current time (in seconds)\n now() {\n var now = (Date.now() + this.localOffset) / 1000;\n return now;\n }\n}\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEe,MAAMA,QAAN,CAAe;EAG5BC,WAAW,CAACC,WAAD,EAAc;IACvB;IACA,KAAKA,WAAL,GAAmBC,QAAQ,CAACD,WAAW,IAAI,CAAhB,CAA3B;EACD,CAN2B,CAQ5B;;;EACa,OAANE,MAAM,GAA+B;IAC1C;IACA,IAAIF,WAAW,GAAG,CAAlB;IACA,OAAO,IAAIF,QAAJ,CAAaE,WAAb,CAAP;EACD,CAb2B,CAe5B;;;EACAG,GAAG,GAAG;IACJ,IAAIA,GAAG,GAAG,CAACC,IAAI,CAACD,GAAL,KAAa,KAAKH,WAAnB,IAAkC,IAA5C;IACA,OAAOG,GAAP;EACD;;AAnB2B"}
1
+ {"version":3,"file":"clock.js","names":["SdkClock","constructor","localOffset","parseInt","create","now","Date"],"sources":["../../lib/clock.ts"],"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\nexport default class SdkClock {\n localOffset: number;\n\n constructor(localOffset) {\n // Calculated local clock offset from server time (in milliseconds). Can be positive or negative.\n this.localOffset = parseInt(localOffset || 0);\n }\n\n // factory method. Create an instance of a clock from current context.\n static create(/* sdk, options */): SdkClock {\n // TODO: calculate localOffset\n var localOffset = 0;\n return new SdkClock(localOffset);\n }\n\n // Return the current time (in seconds)\n now() {\n var now = (Date.now() + this.localOffset) / 1000;\n return now;\n }\n}\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,MAAMA,QAAQ,CAAC;EAG5BC,WAAW,CAACC,WAAW,EAAE;IACvB;IACA,IAAI,CAACA,WAAW,GAAGC,QAAQ,CAACD,WAAW,IAAI,CAAC,CAAC;EAC/C;;EAEA;EACA,OAAOE,MAAM,GAA+B;IAC1C;IACA,IAAIF,WAAW,GAAG,CAAC;IACnB,OAAO,IAAIF,QAAQ,CAACE,WAAW,CAAC;EAClC;;EAEA;EACAG,GAAG,GAAG;IACJ,IAAIA,GAAG,GAAG,CAACC,IAAI,CAACD,GAAG,EAAE,GAAG,IAAI,CAACH,WAAW,IAAI,IAAI;IAChD,OAAOG,GAAG;EACZ;AACF;AAAC;AAAA"}
package/cjs/constants.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.TRANSACTION_STORAGE_NAME = exports.TOKEN_STORAGE_NAME = exports.STATE_TOKEN_KEY_NAME = exports.SHARED_TRANSACTION_STORAGE_NAME = exports.REFRESH_TOKEN_STORAGE_KEY = exports.REFERRER_PATH_STORAGE_KEY = exports.PKCE_STORAGE_NAME = exports.ORIGINAL_URI_STORAGE_NAME = exports.MIN_VERIFIER_LENGTH = exports.MAX_VERIFIER_LENGTH = exports.ID_TOKEN_STORAGE_KEY = exports.IDX_RESPONSE_STORAGE_NAME = exports.IDX_API_VERSION = exports.DEFAULT_POLLING_DELAY = exports.DEFAULT_MAX_CLOCK_SKEW = exports.DEFAULT_CODE_CHALLENGE_METHOD = exports.DEFAULT_CACHE_DURATION = exports.CACHE_STORAGE_NAME = exports.ACCESS_TOKEN_STORAGE_KEY = void 0;
4
-
5
4
  /*!
6
5
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
7
6
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -13,6 +12,7 @@ exports.TRANSACTION_STORAGE_NAME = exports.TOKEN_STORAGE_NAME = exports.STATE_TO
13
12
  *
14
13
  * See the License for the specific language governing permissions and limitations under the License.
15
14
  */
15
+
16
16
  const STATE_TOKEN_KEY_NAME = 'oktaStateToken';
17
17
  exports.STATE_TOKEN_KEY_NAME = STATE_TOKEN_KEY_NAME;
18
18
  const DEFAULT_POLLING_DELAY = 500;
@@ -41,9 +41,10 @@ const ID_TOKEN_STORAGE_KEY = 'idToken';
41
41
  exports.ID_TOKEN_STORAGE_KEY = ID_TOKEN_STORAGE_KEY;
42
42
  const REFRESH_TOKEN_STORAGE_KEY = 'refreshToken';
43
43
  exports.REFRESH_TOKEN_STORAGE_KEY = REFRESH_TOKEN_STORAGE_KEY;
44
- const REFERRER_PATH_STORAGE_KEY = 'referrerPath'; // Code verifier: Random URL-safe string with a minimum length of 43 characters.
45
- // Code challenge: Base64 URL-encoded SHA-256 hash of the code verifier.
44
+ const REFERRER_PATH_STORAGE_KEY = 'referrerPath';
46
45
 
46
+ // Code verifier: Random URL-safe string with a minimum length of 43 characters.
47
+ // Code challenge: Base64 URL-encoded SHA-256 hash of the code verifier.
47
48
  exports.REFERRER_PATH_STORAGE_KEY = REFERRER_PATH_STORAGE_KEY;
48
49
  const MIN_VERIFIER_LENGTH = 43;
49
50
  exports.MIN_VERIFIER_LENGTH = MIN_VERIFIER_LENGTH;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["STATE_TOKEN_KEY_NAME","DEFAULT_POLLING_DELAY","DEFAULT_MAX_CLOCK_SKEW","DEFAULT_CACHE_DURATION","TOKEN_STORAGE_NAME","CACHE_STORAGE_NAME","PKCE_STORAGE_NAME","TRANSACTION_STORAGE_NAME","SHARED_TRANSACTION_STORAGE_NAME","ORIGINAL_URI_STORAGE_NAME","IDX_RESPONSE_STORAGE_NAME","ACCESS_TOKEN_STORAGE_KEY","ID_TOKEN_STORAGE_KEY","REFRESH_TOKEN_STORAGE_KEY","REFERRER_PATH_STORAGE_KEY","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","DEFAULT_CODE_CHALLENGE_METHOD","IDX_API_VERSION"],"sources":["../../lib/constants.ts"],"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\nexport const STATE_TOKEN_KEY_NAME = 'oktaStateToken';\nexport const DEFAULT_POLLING_DELAY = 500;\nexport const DEFAULT_MAX_CLOCK_SKEW = 300;\nexport const DEFAULT_CACHE_DURATION = 86400;\nexport const TOKEN_STORAGE_NAME = 'okta-token-storage';\nexport const CACHE_STORAGE_NAME = 'okta-cache-storage';\nexport const PKCE_STORAGE_NAME = 'okta-pkce-storage';\nexport const TRANSACTION_STORAGE_NAME = 'okta-transaction-storage';\nexport const SHARED_TRANSACTION_STORAGE_NAME = 'okta-shared-transaction-storage';\nexport const ORIGINAL_URI_STORAGE_NAME = 'okta-original-uri-storage';\nexport const IDX_RESPONSE_STORAGE_NAME = 'okta-idx-response-storage';\nexport const ACCESS_TOKEN_STORAGE_KEY = 'accessToken';\nexport const ID_TOKEN_STORAGE_KEY = 'idToken';\nexport const REFRESH_TOKEN_STORAGE_KEY = 'refreshToken';\nexport const REFERRER_PATH_STORAGE_KEY = 'referrerPath';\n\n// Code verifier: Random URL-safe string with a minimum length of 43 characters.\n// Code challenge: Base64 URL-encoded SHA-256 hash of the code verifier.\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nexport const IDX_API_VERSION = '1.0.0';"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAMA,oBAAoB,GAAG,gBAA7B;;AACA,MAAMC,qBAAqB,GAAG,GAA9B;;AACA,MAAMC,sBAAsB,GAAG,GAA/B;;AACA,MAAMC,sBAAsB,GAAG,KAA/B;;AACA,MAAMC,kBAAkB,GAAG,oBAA3B;;AACA,MAAMC,kBAAkB,GAAG,oBAA3B;;AACA,MAAMC,iBAAiB,GAAG,mBAA1B;;AACA,MAAMC,wBAAwB,GAAG,0BAAjC;;AACA,MAAMC,+BAA+B,GAAG,iCAAxC;;AACA,MAAMC,yBAAyB,GAAG,2BAAlC;;AACA,MAAMC,yBAAyB,GAAG,2BAAlC;;AACA,MAAMC,wBAAwB,GAAG,aAAjC;;AACA,MAAMC,oBAAoB,GAAI,SAA9B;;AACA,MAAMC,yBAAyB,GAAI,cAAnC;;AACA,MAAMC,yBAAyB,GAAG,cAAlC,C,CAEP;AACA;;;AACO,MAAMC,mBAAmB,GAAG,EAA5B;;AACA,MAAMC,mBAAmB,GAAG,GAA5B;;AACA,MAAMC,6BAA6B,GAAG,MAAtC;;AAEA,MAAMC,eAAe,GAAG,OAAxB"}
1
+ {"version":3,"file":"constants.js","names":["STATE_TOKEN_KEY_NAME","DEFAULT_POLLING_DELAY","DEFAULT_MAX_CLOCK_SKEW","DEFAULT_CACHE_DURATION","TOKEN_STORAGE_NAME","CACHE_STORAGE_NAME","PKCE_STORAGE_NAME","TRANSACTION_STORAGE_NAME","SHARED_TRANSACTION_STORAGE_NAME","ORIGINAL_URI_STORAGE_NAME","IDX_RESPONSE_STORAGE_NAME","ACCESS_TOKEN_STORAGE_KEY","ID_TOKEN_STORAGE_KEY","REFRESH_TOKEN_STORAGE_KEY","REFERRER_PATH_STORAGE_KEY","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","DEFAULT_CODE_CHALLENGE_METHOD","IDX_API_VERSION"],"sources":["../../lib/constants.ts"],"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\nexport const STATE_TOKEN_KEY_NAME = 'oktaStateToken';\nexport const DEFAULT_POLLING_DELAY = 500;\nexport const DEFAULT_MAX_CLOCK_SKEW = 300;\nexport const DEFAULT_CACHE_DURATION = 86400;\nexport const TOKEN_STORAGE_NAME = 'okta-token-storage';\nexport const CACHE_STORAGE_NAME = 'okta-cache-storage';\nexport const PKCE_STORAGE_NAME = 'okta-pkce-storage';\nexport const TRANSACTION_STORAGE_NAME = 'okta-transaction-storage';\nexport const SHARED_TRANSACTION_STORAGE_NAME = 'okta-shared-transaction-storage';\nexport const ORIGINAL_URI_STORAGE_NAME = 'okta-original-uri-storage';\nexport const IDX_RESPONSE_STORAGE_NAME = 'okta-idx-response-storage';\nexport const ACCESS_TOKEN_STORAGE_KEY = 'accessToken';\nexport const ID_TOKEN_STORAGE_KEY = 'idToken';\nexport const REFRESH_TOKEN_STORAGE_KEY = 'refreshToken';\nexport const REFERRER_PATH_STORAGE_KEY = 'referrerPath';\n\n// Code verifier: Random URL-safe string with a minimum length of 43 characters.\n// Code challenge: Base64 URL-encoded SHA-256 hash of the code verifier.\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nexport const IDX_API_VERSION = '1.0.0';"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,oBAAoB,GAAG,gBAAgB;AAAC;AAC9C,MAAMC,qBAAqB,GAAG,GAAG;AAAC;AAClC,MAAMC,sBAAsB,GAAG,GAAG;AAAC;AACnC,MAAMC,sBAAsB,GAAG,KAAK;AAAC;AACrC,MAAMC,kBAAkB,GAAG,oBAAoB;AAAC;AAChD,MAAMC,kBAAkB,GAAG,oBAAoB;AAAC;AAChD,MAAMC,iBAAiB,GAAG,mBAAmB;AAAC;AAC9C,MAAMC,wBAAwB,GAAG,0BAA0B;AAAC;AAC5D,MAAMC,+BAA+B,GAAG,iCAAiC;AAAC;AAC1E,MAAMC,yBAAyB,GAAG,2BAA2B;AAAC;AAC9D,MAAMC,yBAAyB,GAAG,2BAA2B;AAAC;AAC9D,MAAMC,wBAAwB,GAAG,aAAa;AAAC;AAC/C,MAAMC,oBAAoB,GAAI,SAAS;AAAC;AACxC,MAAMC,yBAAyB,GAAI,cAAc;AAAC;AAClD,MAAMC,yBAAyB,GAAG,cAAc;;AAEvD;AACA;AAAA;AACO,MAAMC,mBAAmB,GAAG,EAAE;AAAC;AAC/B,MAAMC,mBAAmB,GAAG,GAAG;AAAC;AAChC,MAAMC,6BAA6B,GAAG,MAAM;AAAC;AAE7C,MAAMC,eAAe,GAAG,OAAO;AAAC"}