@forgerock/journey-client 0.0.0-beta-20251222204813

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 (528) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/LICENSE +21 -0
  3. package/README.md +143 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/coverage-final.json +1 -0
  7. package/coverage/favicon.png +0 -0
  8. package/coverage/index.html +101 -0
  9. package/coverage/prettify.css +1 -0
  10. package/coverage/prettify.js +2 -0
  11. package/coverage/sort-arrow-sprite.png +0 -0
  12. package/coverage/sorter.js +210 -0
  13. package/dist/package.json +62 -0
  14. package/dist/src/index.d.ts +2 -0
  15. package/dist/src/index.d.ts.map +1 -0
  16. package/dist/src/index.js +7 -0
  17. package/dist/src/lib/callbacks/attribute-input-callback.d.ts +44 -0
  18. package/dist/src/lib/callbacks/attribute-input-callback.d.ts.map +1 -0
  19. package/dist/src/lib/callbacks/attribute-input-callback.js +71 -0
  20. package/dist/src/lib/callbacks/base-callback.d.ts +45 -0
  21. package/dist/src/lib/callbacks/base-callback.d.ts.map +1 -0
  22. package/dist/src/lib/callbacks/base-callback.js +88 -0
  23. package/dist/src/lib/callbacks/choice-callback.d.ts +33 -0
  24. package/dist/src/lib/callbacks/choice-callback.d.ts.map +1 -0
  25. package/dist/src/lib/callbacks/choice-callback.js +57 -0
  26. package/dist/src/lib/callbacks/confirmation-callback.d.ts +41 -0
  27. package/dist/src/lib/callbacks/confirmation-callback.d.ts.map +1 -0
  28. package/dist/src/lib/callbacks/confirmation-callback.js +69 -0
  29. package/dist/src/lib/callbacks/device-profile-callback.d.ts +30 -0
  30. package/dist/src/lib/callbacks/device-profile-callback.d.ts.map +1 -0
  31. package/dist/src/lib/callbacks/device-profile-callback.js +43 -0
  32. package/dist/src/lib/callbacks/factory.d.ts +8 -0
  33. package/dist/src/lib/callbacks/factory.d.ts.map +1 -0
  34. package/dist/src/lib/callbacks/factory.js +87 -0
  35. package/dist/src/lib/callbacks/hidden-value-callback.d.ts +13 -0
  36. package/dist/src/lib/callbacks/hidden-value-callback.d.ts.map +1 -0
  37. package/dist/src/lib/callbacks/hidden-value-callback.js +19 -0
  38. package/dist/src/lib/callbacks/kba-create-callback.d.ts +34 -0
  39. package/dist/src/lib/callbacks/kba-create-callback.d.ts.map +1 -0
  40. package/dist/src/lib/callbacks/kba-create-callback.js +59 -0
  41. package/dist/src/lib/callbacks/metadata-callback.d.ts +17 -0
  42. package/dist/src/lib/callbacks/metadata-callback.d.ts.map +1 -0
  43. package/dist/src/lib/callbacks/metadata-callback.js +25 -0
  44. package/dist/src/lib/callbacks/name-callback.d.ts +21 -0
  45. package/dist/src/lib/callbacks/name-callback.d.ts.map +1 -0
  46. package/dist/src/lib/callbacks/name-callback.js +31 -0
  47. package/dist/src/lib/callbacks/password-callback.d.ts +29 -0
  48. package/dist/src/lib/callbacks/password-callback.d.ts.map +1 -0
  49. package/dist/src/lib/callbacks/password-callback.js +43 -0
  50. package/dist/src/lib/callbacks/ping-protect-evaluation-callback.d.ts +52 -0
  51. package/dist/src/lib/callbacks/ping-protect-evaluation-callback.d.ts.map +1 -0
  52. package/dist/src/lib/callbacks/ping-protect-evaluation-callback.js +64 -0
  53. package/dist/src/lib/callbacks/ping-protect-initialize-callback.d.ts +29 -0
  54. package/dist/src/lib/callbacks/ping-protect-initialize-callback.d.ts.map +1 -0
  55. package/dist/src/lib/callbacks/ping-protect-initialize-callback.js +40 -0
  56. package/dist/src/lib/callbacks/polling-wait-callback.d.ts +21 -0
  57. package/dist/src/lib/callbacks/polling-wait-callback.d.ts.map +1 -0
  58. package/dist/src/lib/callbacks/polling-wait-callback.js +31 -0
  59. package/dist/src/lib/callbacks/recaptcha-callback.d.ts +21 -0
  60. package/dist/src/lib/callbacks/recaptcha-callback.d.ts.map +1 -0
  61. package/dist/src/lib/callbacks/recaptcha-callback.js +31 -0
  62. package/dist/src/lib/callbacks/recaptcha-enterprise-callback.d.ts +41 -0
  63. package/dist/src/lib/callbacks/recaptcha-enterprise-callback.d.ts.map +1 -0
  64. package/dist/src/lib/callbacks/recaptcha-enterprise-callback.js +65 -0
  65. package/dist/src/lib/callbacks/redirect-callback.d.ts +17 -0
  66. package/dist/src/lib/callbacks/redirect-callback.d.ts.map +1 -0
  67. package/dist/src/lib/callbacks/redirect-callback.js +25 -0
  68. package/dist/src/lib/callbacks/select-idp-callback.d.ts +28 -0
  69. package/dist/src/lib/callbacks/select-idp-callback.d.ts.map +1 -0
  70. package/dist/src/lib/callbacks/select-idp-callback.js +35 -0
  71. package/dist/src/lib/callbacks/suspended-text-output-callback.d.ts +13 -0
  72. package/dist/src/lib/callbacks/suspended-text-output-callback.d.ts.map +1 -0
  73. package/dist/src/lib/callbacks/suspended-text-output-callback.js +19 -0
  74. package/dist/src/lib/callbacks/terms-and-conditions-callback.d.ts +29 -0
  75. package/dist/src/lib/callbacks/terms-and-conditions-callback.d.ts.map +1 -0
  76. package/dist/src/lib/callbacks/terms-and-conditions-callback.js +45 -0
  77. package/dist/src/lib/callbacks/text-input-callback.d.ts +21 -0
  78. package/dist/src/lib/callbacks/text-input-callback.d.ts.map +1 -0
  79. package/dist/src/lib/callbacks/text-input-callback.js +31 -0
  80. package/dist/src/lib/callbacks/text-output-callback.d.ts +22 -0
  81. package/dist/src/lib/callbacks/text-output-callback.d.ts.map +1 -0
  82. package/dist/src/lib/callbacks/text-output-callback.js +32 -0
  83. package/dist/src/lib/callbacks/validated-create-password-callback.d.ts +37 -0
  84. package/dist/src/lib/callbacks/validated-create-password-callback.d.ts.map +1 -0
  85. package/dist/src/lib/callbacks/validated-create-password-callback.js +63 -0
  86. package/dist/src/lib/callbacks/validated-create-username-callback.d.ts +37 -0
  87. package/dist/src/lib/callbacks/validated-create-username-callback.d.ts.map +1 -0
  88. package/dist/src/lib/callbacks/validated-create-username-callback.js +64 -0
  89. package/dist/src/lib/client.store.d.ts +37 -0
  90. package/dist/src/lib/client.store.d.ts.map +1 -0
  91. package/dist/src/lib/client.store.js +147 -0
  92. package/dist/src/lib/client.store.utils.d.ts +81 -0
  93. package/dist/src/lib/client.store.utils.d.ts.map +1 -0
  94. package/dist/src/lib/client.store.utils.js +28 -0
  95. package/dist/src/lib/config.types.d.ts +8 -0
  96. package/dist/src/lib/config.types.d.ts.map +1 -0
  97. package/dist/src/lib/config.types.js +7 -0
  98. package/dist/src/lib/device/defaults.d.ts +13 -0
  99. package/dist/src/lib/device/defaults.d.ts.map +1 -0
  100. package/dist/src/lib/device/defaults.js +78 -0
  101. package/dist/src/lib/device/device-profile.d.ts +41 -0
  102. package/dist/src/lib/device/device-profile.d.ts.map +1 -0
  103. package/dist/src/lib/device/device-profile.js +216 -0
  104. package/dist/src/lib/device/device-profile.mock.data.d.ts +109 -0
  105. package/dist/src/lib/device/device-profile.mock.data.d.ts.map +1 -0
  106. package/dist/src/lib/device/device-profile.mock.data.js +117 -0
  107. package/dist/src/lib/device/interfaces.d.ts +43 -0
  108. package/dist/src/lib/device/interfaces.d.ts.map +1 -0
  109. package/dist/src/lib/device/interfaces.js +10 -0
  110. package/dist/src/lib/interfaces.d.ts +15 -0
  111. package/dist/src/lib/interfaces.d.ts.map +1 -0
  112. package/dist/src/lib/interfaces.js +7 -0
  113. package/dist/src/lib/journey.api.d.ts +15 -0
  114. package/dist/src/lib/journey.api.d.ts.map +1 -0
  115. package/dist/src/lib/journey.api.js +129 -0
  116. package/dist/src/lib/journey.slice.d.ts +12 -0
  117. package/dist/src/lib/journey.slice.d.ts.map +1 -0
  118. package/dist/src/lib/journey.slice.js +18 -0
  119. package/dist/src/lib/journey.utils.d.ts +7 -0
  120. package/dist/src/lib/journey.utils.d.ts.map +1 -0
  121. package/dist/src/lib/journey.utils.js +33 -0
  122. package/dist/src/lib/login-failure.utils.d.ts +16 -0
  123. package/dist/src/lib/login-failure.utils.d.ts.map +1 -0
  124. package/dist/src/lib/login-failure.utils.js +34 -0
  125. package/dist/src/lib/login-success.utils.d.ts +16 -0
  126. package/dist/src/lib/login-success.utils.d.ts.map +1 -0
  127. package/dist/src/lib/login-success.utils.js +25 -0
  128. package/dist/src/lib/policy/interfaces.d.ts +11 -0
  129. package/dist/src/lib/policy/interfaces.d.ts.map +1 -0
  130. package/dist/src/lib/policy/interfaces.js +6 -0
  131. package/dist/src/lib/policy/message-creator.d.ts +3 -0
  132. package/dist/src/lib/policy/message-creator.d.ts.map +1 -0
  133. package/dist/src/lib/policy/message-creator.js +58 -0
  134. package/dist/src/lib/policy/policy.d.ts +57 -0
  135. package/dist/src/lib/policy/policy.d.ts.map +1 -0
  136. package/dist/src/lib/policy/policy.js +108 -0
  137. package/dist/src/lib/qr-code/qr-code.d.ts +35 -0
  138. package/dist/src/lib/qr-code/qr-code.d.ts.map +1 -0
  139. package/dist/src/lib/qr-code/qr-code.js +73 -0
  140. package/dist/src/lib/qr-code/qr-code.mock.data.d.ts +66 -0
  141. package/dist/src/lib/qr-code/qr-code.mock.data.d.ts.map +1 -0
  142. package/dist/src/lib/qr-code/qr-code.mock.data.js +175 -0
  143. package/dist/src/lib/recovery-codes/recovery-codes.d.ts +40 -0
  144. package/dist/src/lib/recovery-codes/recovery-codes.d.ts.map +1 -0
  145. package/dist/src/lib/recovery-codes/recovery-codes.js +64 -0
  146. package/dist/src/lib/recovery-codes/script-parser.d.ts +8 -0
  147. package/dist/src/lib/recovery-codes/script-parser.d.ts.map +1 -0
  148. package/dist/src/lib/recovery-codes/script-parser.js +45 -0
  149. package/dist/src/lib/recovery-codes/script-text.mock.data.d.ts +27 -0
  150. package/dist/src/lib/recovery-codes/script-text.mock.data.d.ts.map +1 -0
  151. package/dist/src/lib/recovery-codes/script-text.mock.data.js +103 -0
  152. package/dist/src/lib/step.types.d.ts +14 -0
  153. package/dist/src/lib/step.types.d.ts.map +1 -0
  154. package/dist/src/lib/step.types.js +7 -0
  155. package/dist/src/lib/step.utils.d.ts +10 -0
  156. package/dist/src/lib/step.utils.d.ts.map +1 -0
  157. package/dist/src/lib/step.utils.js +62 -0
  158. package/dist/src/lib/webauthn/enums.d.ts +24 -0
  159. package/dist/src/lib/webauthn/enums.d.ts.map +1 -0
  160. package/dist/src/lib/webauthn/enums.js +35 -0
  161. package/dist/src/lib/webauthn/helpers.d.ts +18 -0
  162. package/dist/src/lib/webauthn/helpers.d.ts.map +1 -0
  163. package/dist/src/lib/webauthn/helpers.js +103 -0
  164. package/dist/src/lib/webauthn/helpers.mock.data.d.ts +6 -0
  165. package/dist/src/lib/webauthn/helpers.mock.data.d.ts.map +1 -0
  166. package/dist/src/lib/webauthn/helpers.mock.data.js +14 -0
  167. package/dist/src/lib/webauthn/interfaces.d.ts +92 -0
  168. package/dist/src/lib/webauthn/interfaces.d.ts.map +1 -0
  169. package/dist/src/lib/webauthn/interfaces.js +34 -0
  170. package/dist/src/lib/webauthn/script-text.mock.data.d.ts +76 -0
  171. package/dist/src/lib/webauthn/script-text.mock.data.d.ts.map +1 -0
  172. package/dist/src/lib/webauthn/script-text.mock.data.js +451 -0
  173. package/dist/src/lib/webauthn/webauthn.d.ts +124 -0
  174. package/dist/src/lib/webauthn/webauthn.d.ts.map +1 -0
  175. package/dist/src/lib/webauthn/webauthn.js +383 -0
  176. package/dist/src/lib/webauthn/webauthn.mock.data.d.ts +331 -0
  177. package/dist/src/lib/webauthn/webauthn.mock.data.d.ts.map +1 -0
  178. package/dist/src/lib/webauthn/webauthn.mock.data.js +446 -0
  179. package/dist/src/types.d.ts +31 -0
  180. package/dist/src/types.d.ts.map +1 -0
  181. package/dist/src/types.js +34 -0
  182. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  183. package/eslint.config.mjs +19 -0
  184. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/attribute-input-callback.test.d.ts +1 -0
  185. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/fr-auth-callback.test.d.ts +1 -0
  186. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/ping-protect-evaluation-callback.test.d.ts +1 -0
  187. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/ping-protect-initialize-callback.test.d.ts +1 -0
  188. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/recaptcha-enterprise-callback.test.d.ts +1 -0
  189. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/text-input-callback.test.d.ts +1 -0
  190. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/validated-create-password-callback.test.d.ts +1 -0
  191. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/validated-create-username-callback.test.d.ts +1 -0
  192. package/out-tsc/vitest/packages/journey-client/src/lib/fr-device/device-profile.test.d.ts +1 -0
  193. package/out-tsc/vitest/packages/journey-client/src/lib/fr-policy/fr-policy.test.d.ts +1 -0
  194. package/out-tsc/vitest/packages/journey-client/tsconfig.spec.tsbuildinfo +1 -0
  195. package/out-tsc/vitest/packages/journey-client/vite.config.d.ts +2 -0
  196. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback-operators.test.d.ts +2 -0
  197. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback-operators.test.d.ts.map +1 -0
  198. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.operators.test.d.ts +2 -0
  199. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.operators.test.d.ts.map +1 -0
  200. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.test.d.ts +2 -0
  201. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.test.d.ts.map +1 -0
  202. package/out-tsc/vitest/src/lib/callbacks/base-callback.test.d.ts +2 -0
  203. package/out-tsc/vitest/src/lib/callbacks/base-callback.test.d.ts.map +1 -0
  204. package/out-tsc/vitest/src/lib/callbacks/callback-types.test.d.ts +2 -0
  205. package/out-tsc/vitest/src/lib/callbacks/callback-types.test.d.ts.map +1 -0
  206. package/out-tsc/vitest/src/lib/callbacks/callback-utils.test.d.ts +2 -0
  207. package/out-tsc/vitest/src/lib/callbacks/callback-utils.test.d.ts.map +1 -0
  208. package/out-tsc/vitest/src/lib/callbacks/choice-callback-operators.test.d.ts +2 -0
  209. package/out-tsc/vitest/src/lib/callbacks/choice-callback-operators.test.d.ts.map +1 -0
  210. package/out-tsc/vitest/src/lib/callbacks/choice-callback.operators.test.d.ts +2 -0
  211. package/out-tsc/vitest/src/lib/callbacks/choice-callback.operators.test.d.ts.map +1 -0
  212. package/out-tsc/vitest/src/lib/callbacks/choice-callback.test.d.ts +2 -0
  213. package/out-tsc/vitest/src/lib/callbacks/choice-callback.test.d.ts.map +1 -0
  214. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback-operators.test.d.ts +2 -0
  215. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback-operators.test.d.ts.map +1 -0
  216. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.operators.test.d.ts +2 -0
  217. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.operators.test.d.ts.map +1 -0
  218. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.test.d.ts +2 -0
  219. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.test.d.ts.map +1 -0
  220. package/out-tsc/vitest/src/lib/callbacks/device-profile-callback.test.d.ts +2 -0
  221. package/out-tsc/vitest/src/lib/callbacks/device-profile-callback.test.d.ts.map +1 -0
  222. package/out-tsc/vitest/src/lib/callbacks/factory.test.d.ts +2 -0
  223. package/out-tsc/vitest/src/lib/callbacks/factory.test.d.ts.map +1 -0
  224. package/out-tsc/vitest/src/lib/callbacks/fr-auth-callback.test.d.ts +2 -0
  225. package/out-tsc/vitest/src/lib/callbacks/fr-auth-callback.test.d.ts.map +1 -0
  226. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback-operators.test.d.ts +2 -0
  227. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback-operators.test.d.ts.map +1 -0
  228. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.operators.test.d.ts +2 -0
  229. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.operators.test.d.ts.map +1 -0
  230. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.test.d.ts +2 -0
  231. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.test.d.ts.map +1 -0
  232. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback-operators.test.d.ts +2 -0
  233. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback-operators.test.d.ts.map +1 -0
  234. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.operators.test.d.ts +2 -0
  235. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.operators.test.d.ts.map +1 -0
  236. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.test.d.ts +2 -0
  237. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.test.d.ts.map +1 -0
  238. package/out-tsc/vitest/src/lib/callbacks/metadata-callback-operators.test.d.ts +2 -0
  239. package/out-tsc/vitest/src/lib/callbacks/metadata-callback-operators.test.d.ts.map +1 -0
  240. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.operators.test.d.ts +2 -0
  241. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.operators.test.d.ts.map +1 -0
  242. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.test.d.ts +2 -0
  243. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.test.d.ts.map +1 -0
  244. package/out-tsc/vitest/src/lib/callbacks/name-callback-operators.test.d.ts +2 -0
  245. package/out-tsc/vitest/src/lib/callbacks/name-callback-operators.test.d.ts.map +1 -0
  246. package/out-tsc/vitest/src/lib/callbacks/name-callback.operators.test.d.ts +2 -0
  247. package/out-tsc/vitest/src/lib/callbacks/name-callback.operators.test.d.ts.map +1 -0
  248. package/out-tsc/vitest/src/lib/callbacks/name-callback.test.d.ts +2 -0
  249. package/out-tsc/vitest/src/lib/callbacks/name-callback.test.d.ts.map +1 -0
  250. package/out-tsc/vitest/src/lib/callbacks/password-callback-operators.test.d.ts +2 -0
  251. package/out-tsc/vitest/src/lib/callbacks/password-callback-operators.test.d.ts.map +1 -0
  252. package/out-tsc/vitest/src/lib/callbacks/password-callback.operators.test.d.ts +2 -0
  253. package/out-tsc/vitest/src/lib/callbacks/password-callback.operators.test.d.ts.map +1 -0
  254. package/out-tsc/vitest/src/lib/callbacks/password-callback.test.d.ts +2 -0
  255. package/out-tsc/vitest/src/lib/callbacks/password-callback.test.d.ts.map +1 -0
  256. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback-operators.test.d.ts +2 -0
  257. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback-operators.test.d.ts.map +1 -0
  258. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.operators.test.d.ts +2 -0
  259. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.operators.test.d.ts.map +1 -0
  260. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.test.d.ts +2 -0
  261. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.test.d.ts.map +1 -0
  262. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback-operators.test.d.ts +2 -0
  263. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback-operators.test.d.ts.map +1 -0
  264. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.operators.test.d.ts +2 -0
  265. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.operators.test.d.ts.map +1 -0
  266. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.test.d.ts +2 -0
  267. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.test.d.ts.map +1 -0
  268. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback-operators.test.d.ts +2 -0
  269. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback-operators.test.d.ts.map +1 -0
  270. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.operators.test.d.ts +2 -0
  271. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.operators.test.d.ts.map +1 -0
  272. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.test.d.ts +2 -0
  273. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.test.d.ts.map +1 -0
  274. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback-operators.test.d.ts +2 -0
  275. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback-operators.test.d.ts.map +1 -0
  276. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.operators.test.d.ts +2 -0
  277. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.operators.test.d.ts.map +1 -0
  278. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.test.d.ts +2 -0
  279. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.test.d.ts.map +1 -0
  280. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback-operators.test.d.ts +2 -0
  281. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback-operators.test.d.ts.map +1 -0
  282. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.operators.test.d.ts +2 -0
  283. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.operators.test.d.ts.map +1 -0
  284. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.test.d.ts +2 -0
  285. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.test.d.ts.map +1 -0
  286. package/out-tsc/vitest/src/lib/callbacks/redirect-callback-operators.test.d.ts +2 -0
  287. package/out-tsc/vitest/src/lib/callbacks/redirect-callback-operators.test.d.ts.map +1 -0
  288. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.operators.test.d.ts +2 -0
  289. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.operators.test.d.ts.map +1 -0
  290. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.test.d.ts +2 -0
  291. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.test.d.ts.map +1 -0
  292. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback-operators.test.d.ts +2 -0
  293. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback-operators.test.d.ts.map +1 -0
  294. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.operators.test.d.ts +2 -0
  295. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.operators.test.d.ts.map +1 -0
  296. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.test.d.ts +2 -0
  297. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.test.d.ts.map +1 -0
  298. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback-operators.test.d.ts +2 -0
  299. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback-operators.test.d.ts.map +1 -0
  300. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.operators.test.d.ts +2 -0
  301. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.operators.test.d.ts.map +1 -0
  302. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.test.d.ts +2 -0
  303. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.test.d.ts.map +1 -0
  304. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback-operators.test.d.ts +2 -0
  305. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback-operators.test.d.ts.map +1 -0
  306. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.operators.test.d.ts +2 -0
  307. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.operators.test.d.ts.map +1 -0
  308. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.test.d.ts +2 -0
  309. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.test.d.ts.map +1 -0
  310. package/out-tsc/vitest/src/lib/callbacks/text-input-callback-operators.test.d.ts +2 -0
  311. package/out-tsc/vitest/src/lib/callbacks/text-input-callback-operators.test.d.ts.map +1 -0
  312. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.operators.test.d.ts +2 -0
  313. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.operators.test.d.ts.map +1 -0
  314. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.test.d.ts +2 -0
  315. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.test.d.ts.map +1 -0
  316. package/out-tsc/vitest/src/lib/callbacks/text-output-callback-operators.test.d.ts +2 -0
  317. package/out-tsc/vitest/src/lib/callbacks/text-output-callback-operators.test.d.ts.map +1 -0
  318. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.operators.test.d.ts +2 -0
  319. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.operators.test.d.ts.map +1 -0
  320. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.test.d.ts +2 -0
  321. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.test.d.ts.map +1 -0
  322. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback-operators.test.d.ts +2 -0
  323. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback-operators.test.d.ts.map +1 -0
  324. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.operators.test.d.ts +2 -0
  325. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.operators.test.d.ts.map +1 -0
  326. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.test.d.ts +2 -0
  327. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.test.d.ts.map +1 -0
  328. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback-operators.test.d.ts +2 -0
  329. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback-operators.test.d.ts.map +1 -0
  330. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.operators.test.d.ts +2 -0
  331. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.operators.test.d.ts.map +1 -0
  332. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.test.d.ts +2 -0
  333. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.test.d.ts.map +1 -0
  334. package/out-tsc/vitest/src/lib/client.store.test.d.ts +2 -0
  335. package/out-tsc/vitest/src/lib/client.store.test.d.ts.map +1 -0
  336. package/out-tsc/vitest/src/lib/device/device-profile.test.d.ts +2 -0
  337. package/out-tsc/vitest/src/lib/device/device-profile.test.d.ts.map +1 -0
  338. package/out-tsc/vitest/src/lib/fr-device/device-profile.test.d.ts +2 -0
  339. package/out-tsc/vitest/src/lib/fr-device/device-profile.test.d.ts.map +1 -0
  340. package/out-tsc/vitest/src/lib/fr-policy/fr-policy.test.d.ts +2 -0
  341. package/out-tsc/vitest/src/lib/fr-policy/fr-policy.test.d.ts.map +1 -0
  342. package/out-tsc/vitest/src/lib/fr-qrcode/fr-qrcode.test.d.ts +2 -0
  343. package/out-tsc/vitest/src/lib/fr-qrcode/fr-qrcode.test.d.ts.map +1 -0
  344. package/out-tsc/vitest/src/lib/fr-recovery-codes/recovery-codes.test.d.ts +2 -0
  345. package/out-tsc/vitest/src/lib/fr-recovery-codes/recovery-codes.test.d.ts.map +1 -0
  346. package/out-tsc/vitest/src/lib/fr-recovery-codes/script-parser.test.d.ts +2 -0
  347. package/out-tsc/vitest/src/lib/fr-recovery-codes/script-parser.test.d.ts.map +1 -0
  348. package/out-tsc/vitest/src/lib/fr-step.test.d.ts +2 -0
  349. package/out-tsc/vitest/src/lib/fr-step.test.d.ts.map +1 -0
  350. package/out-tsc/vitest/src/lib/fr-webauthn/fr-webauthn.test.d.ts +2 -0
  351. package/out-tsc/vitest/src/lib/fr-webauthn/fr-webauthn.test.d.ts.map +1 -0
  352. package/out-tsc/vitest/src/lib/fr-webauthn/helpers.test.d.ts +2 -0
  353. package/out-tsc/vitest/src/lib/fr-webauthn/helpers.test.d.ts.map +1 -0
  354. package/out-tsc/vitest/src/lib/fr-webauthn/script-parser.test.d.ts +2 -0
  355. package/out-tsc/vitest/src/lib/fr-webauthn/script-parser.test.d.ts.map +1 -0
  356. package/out-tsc/vitest/src/lib/journey-client.test.d.ts +2 -0
  357. package/out-tsc/vitest/src/lib/journey-client.test.d.ts.map +1 -0
  358. package/out-tsc/vitest/src/lib/journey-device/device-profile.test.d.ts +2 -0
  359. package/out-tsc/vitest/src/lib/journey-device/device-profile.test.d.ts.map +1 -0
  360. package/out-tsc/vitest/src/lib/journey-login-failure.utils.test.d.ts +2 -0
  361. package/out-tsc/vitest/src/lib/journey-login-failure.utils.test.d.ts.map +1 -0
  362. package/out-tsc/vitest/src/lib/journey-login-success.utils.test.d.ts +2 -0
  363. package/out-tsc/vitest/src/lib/journey-login-success.utils.test.d.ts.map +1 -0
  364. package/out-tsc/vitest/src/lib/journey-policy/fr-policy.test.d.ts +2 -0
  365. package/out-tsc/vitest/src/lib/journey-policy/fr-policy.test.d.ts.map +1 -0
  366. package/out-tsc/vitest/src/lib/journey-policy/journey-policy.test.d.ts +2 -0
  367. package/out-tsc/vitest/src/lib/journey-policy/journey-policy.test.d.ts.map +1 -0
  368. package/out-tsc/vitest/src/lib/journey-qrcode/journey-qrcode.test.d.ts +2 -0
  369. package/out-tsc/vitest/src/lib/journey-qrcode/journey-qrcode.test.d.ts.map +1 -0
  370. package/out-tsc/vitest/src/lib/journey-step.test.d.ts +2 -0
  371. package/out-tsc/vitest/src/lib/journey-step.test.d.ts.map +1 -0
  372. package/out-tsc/vitest/src/lib/journey-webauthn/enums.d.ts +24 -0
  373. package/out-tsc/vitest/src/lib/journey-webauthn/enums.d.ts.map +1 -0
  374. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.d.ts +18 -0
  375. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.d.ts.map +1 -0
  376. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.mock.data.d.ts +6 -0
  377. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.mock.data.d.ts.map +1 -0
  378. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.test.d.ts +2 -0
  379. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.test.d.ts.map +1 -0
  380. package/out-tsc/vitest/src/lib/journey-webauthn/index.d.ts +123 -0
  381. package/out-tsc/vitest/src/lib/journey-webauthn/index.d.ts.map +1 -0
  382. package/out-tsc/vitest/src/lib/journey-webauthn/interfaces.d.ts +93 -0
  383. package/out-tsc/vitest/src/lib/journey-webauthn/interfaces.d.ts.map +1 -0
  384. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.mock.data.d.ts +331 -0
  385. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.mock.data.d.ts.map +1 -0
  386. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.test.d.ts +2 -0
  387. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.test.d.ts.map +1 -0
  388. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.d.ts +4 -0
  389. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.d.ts.map +1 -0
  390. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.test.d.ts +2 -0
  391. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.test.d.ts.map +1 -0
  392. package/out-tsc/vitest/src/lib/journey-webauthn/script-text.mock.data.d.ts +76 -0
  393. package/out-tsc/vitest/src/lib/journey-webauthn/script-text.mock.data.d.ts.map +1 -0
  394. package/out-tsc/vitest/src/lib/journey-webauthn/webauthn-utils.d.ts +38 -0
  395. package/out-tsc/vitest/src/lib/journey-webauthn/webauthn-utils.d.ts.map +1 -0
  396. package/out-tsc/vitest/src/lib/journey.api.test.d.ts +2 -0
  397. package/out-tsc/vitest/src/lib/journey.api.test.d.ts.map +1 -0
  398. package/out-tsc/vitest/src/lib/journey.store.test.d.ts +2 -0
  399. package/out-tsc/vitest/src/lib/journey.store.test.d.ts.map +1 -0
  400. package/out-tsc/vitest/src/lib/login-failure.utils.test.d.ts +2 -0
  401. package/out-tsc/vitest/src/lib/login-failure.utils.test.d.ts.map +1 -0
  402. package/out-tsc/vitest/src/lib/login-success.utils.test.d.ts +2 -0
  403. package/out-tsc/vitest/src/lib/login-success.utils.test.d.ts.map +1 -0
  404. package/out-tsc/vitest/src/lib/object-utils.test.d.ts +2 -0
  405. package/out-tsc/vitest/src/lib/object-utils.test.d.ts.map +1 -0
  406. package/out-tsc/vitest/src/lib/policy/policy.test.d.ts +2 -0
  407. package/out-tsc/vitest/src/lib/policy/policy.test.d.ts.map +1 -0
  408. package/out-tsc/vitest/src/lib/qr-code/qr-code.test.d.ts +2 -0
  409. package/out-tsc/vitest/src/lib/qr-code/qr-code.test.d.ts.map +1 -0
  410. package/out-tsc/vitest/src/lib/recovery-codes/index.d.ts +37 -0
  411. package/out-tsc/vitest/src/lib/recovery-codes/index.d.ts.map +1 -0
  412. package/out-tsc/vitest/src/lib/recovery-codes/recovery-codes.test.d.ts +2 -0
  413. package/out-tsc/vitest/src/lib/recovery-codes/recovery-codes.test.d.ts.map +1 -0
  414. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.d.ts +9 -0
  415. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.d.ts.map +1 -0
  416. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.test.d.ts +2 -0
  417. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.test.d.ts.map +1 -0
  418. package/out-tsc/vitest/src/lib/recovery-codes/script-text.mock.data.d.ts +27 -0
  419. package/out-tsc/vitest/src/lib/recovery-codes/script-text.mock.data.d.ts.map +1 -0
  420. package/out-tsc/vitest/src/lib/step-utils.test.d.ts +2 -0
  421. package/out-tsc/vitest/src/lib/step-utils.test.d.ts.map +1 -0
  422. package/out-tsc/vitest/src/lib/step.test.d.ts +2 -0
  423. package/out-tsc/vitest/src/lib/step.test.d.ts.map +1 -0
  424. package/out-tsc/vitest/src/lib/webauthn/helpers.test.d.ts +2 -0
  425. package/out-tsc/vitest/src/lib/webauthn/helpers.test.d.ts.map +1 -0
  426. package/out-tsc/vitest/src/lib/webauthn/webauthn.test.d.ts +2 -0
  427. package/out-tsc/vitest/src/lib/webauthn/webauthn.test.d.ts.map +1 -0
  428. package/out-tsc/vitest/tsconfig.spec.tsbuildinfo +1 -0
  429. package/out-tsc/vitest/vite.config.d.ts +3 -0
  430. package/out-tsc/vitest/vite.config.d.ts.map +1 -0
  431. package/package.json +62 -0
  432. package/src/index.ts +8 -0
  433. package/src/lib/callbacks/attribute-input-callback.test.ts +89 -0
  434. package/src/lib/callbacks/attribute-input-callback.ts +81 -0
  435. package/src/lib/callbacks/base-callback.test.ts +42 -0
  436. package/src/lib/callbacks/base-callback.ts +101 -0
  437. package/src/lib/callbacks/choice-callback.test.ts +77 -0
  438. package/src/lib/callbacks/choice-callback.ts +64 -0
  439. package/src/lib/callbacks/confirmation-callback.test.ts +94 -0
  440. package/src/lib/callbacks/confirmation-callback.ts +78 -0
  441. package/src/lib/callbacks/device-profile-callback.test.ts +68 -0
  442. package/src/lib/callbacks/device-profile-callback.ts +51 -0
  443. package/src/lib/callbacks/factory.test.ts +89 -0
  444. package/src/lib/callbacks/factory.ts +95 -0
  445. package/src/lib/callbacks/hidden-value-callback.test.ts +26 -0
  446. package/src/lib/callbacks/hidden-value-callback.ts +21 -0
  447. package/src/lib/callbacks/kba-create-callback.test.ts +62 -0
  448. package/src/lib/callbacks/kba-create-callback.ts +68 -0
  449. package/src/lib/callbacks/metadata-callback.test.ts +31 -0
  450. package/src/lib/callbacks/metadata-callback.ts +28 -0
  451. package/src/lib/callbacks/name-callback.test.ts +42 -0
  452. package/src/lib/callbacks/name-callback.ts +35 -0
  453. package/src/lib/callbacks/password-callback.test.ts +60 -0
  454. package/src/lib/callbacks/password-callback.ts +49 -0
  455. package/src/lib/callbacks/ping-protect-evaluation-callback.test.ts +69 -0
  456. package/src/lib/callbacks/ping-protect-evaluation-callback.ts +70 -0
  457. package/src/lib/callbacks/ping-protect-initialize-callback.test.ts +153 -0
  458. package/src/lib/callbacks/ping-protect-initialize-callback.ts +44 -0
  459. package/src/lib/callbacks/polling-wait-callback.test.ts +36 -0
  460. package/src/lib/callbacks/polling-wait-callback.ts +35 -0
  461. package/src/lib/callbacks/recaptcha-callback.test.ts +42 -0
  462. package/src/lib/callbacks/recaptcha-callback.ts +35 -0
  463. package/src/lib/callbacks/recaptcha-enterprise-callback.test.ts +86 -0
  464. package/src/lib/callbacks/recaptcha-enterprise-callback.ts +72 -0
  465. package/src/lib/callbacks/redirect-callback.test.ts +31 -0
  466. package/src/lib/callbacks/redirect-callback.ts +28 -0
  467. package/src/lib/callbacks/select-idp-callback.test.ts +51 -0
  468. package/src/lib/callbacks/select-idp-callback.ts +48 -0
  469. package/src/lib/callbacks/suspended-text-output-callback.test.ts +35 -0
  470. package/src/lib/callbacks/suspended-text-output-callback.ts +21 -0
  471. package/src/lib/callbacks/terms-and-conditions-callback.test.ts +55 -0
  472. package/src/lib/callbacks/terms-and-conditions-callback.ts +51 -0
  473. package/src/lib/callbacks/text-input-callback.test.ts +43 -0
  474. package/src/lib/callbacks/text-input-callback.ts +35 -0
  475. package/src/lib/callbacks/text-output-callback.test.ts +36 -0
  476. package/src/lib/callbacks/text-output-callback.ts +36 -0
  477. package/src/lib/callbacks/validated-create-password-callback.test.ts +84 -0
  478. package/src/lib/callbacks/validated-create-password-callback.ts +75 -0
  479. package/src/lib/callbacks/validated-create-username-callback.test.ts +84 -0
  480. package/src/lib/callbacks/validated-create-username-callback.ts +76 -0
  481. package/src/lib/client.store.test.ts +324 -0
  482. package/src/lib/client.store.ts +194 -0
  483. package/src/lib/client.store.utils.ts +46 -0
  484. package/src/lib/config.types.ts +17 -0
  485. package/src/lib/device/defaults.ts +79 -0
  486. package/src/lib/device/device-profile.mock.data.ts +120 -0
  487. package/src/lib/device/device-profile.test.ts +128 -0
  488. package/src/lib/device/device-profile.ts +287 -0
  489. package/src/lib/device/interfaces.ts +63 -0
  490. package/src/lib/device/sample-profile.json +45 -0
  491. package/src/lib/interfaces.ts +25 -0
  492. package/src/lib/journey.api.ts +198 -0
  493. package/src/lib/journey.slice.ts +33 -0
  494. package/src/lib/journey.utils.ts +44 -0
  495. package/src/lib/login-failure.utils.test.ts +31 -0
  496. package/src/lib/login-failure.utils.ts +62 -0
  497. package/src/lib/login-success.utils.test.ts +29 -0
  498. package/src/lib/login-success.utils.ts +43 -0
  499. package/src/lib/policy/interfaces.ts +16 -0
  500. package/src/lib/policy/message-creator.ts +66 -0
  501. package/src/lib/policy/policy.test.ts +202 -0
  502. package/src/lib/policy/policy.ts +134 -0
  503. package/src/lib/qr-code/qr-code.mock.data.ts +184 -0
  504. package/src/lib/qr-code/qr-code.test.ts +78 -0
  505. package/src/lib/qr-code/qr-code.ts +96 -0
  506. package/src/lib/recovery-codes/recovery-codes.test.ts +43 -0
  507. package/src/lib/recovery-codes/recovery-codes.ts +72 -0
  508. package/src/lib/recovery-codes/script-parser.test.ts +34 -0
  509. package/src/lib/recovery-codes/script-parser.ts +50 -0
  510. package/src/lib/recovery-codes/script-text.mock.data.ts +120 -0
  511. package/src/lib/step.test.ts +104 -0
  512. package/src/lib/step.types.ts +22 -0
  513. package/src/lib/step.utils.ts +99 -0
  514. package/src/lib/webauthn/enums.ts +36 -0
  515. package/src/lib/webauthn/helpers.mock.data.ts +24 -0
  516. package/src/lib/webauthn/helpers.test.ts +54 -0
  517. package/src/lib/webauthn/helpers.ts +124 -0
  518. package/src/lib/webauthn/interfaces.ts +112 -0
  519. package/src/lib/webauthn/script-text.mock.data.ts +463 -0
  520. package/src/lib/webauthn/webauthn.mock.data.ts +478 -0
  521. package/src/lib/webauthn/webauthn.test.ts +100 -0
  522. package/src/lib/webauthn/webauthn.ts +508 -0
  523. package/src/types.ts +50 -0
  524. package/tsconfig.json +28 -0
  525. package/tsconfig.lib.json +37 -0
  526. package/tsconfig.spec.json +42 -0
  527. package/vite.config.ts +0 -0
  528. package/vitest.setup.ts +1 -0
@@ -0,0 +1,478 @@
1
+ /*
2
+ * @forgerock/ping-javascript-sdk
3
+ *
4
+ * fr-webauthn.mock.data.ts
5
+ *
6
+ * Copyright (c) 2020 - 2025 Ping Identity Corporation. All rights reserved.
7
+ * This software may be modified and distributed under the terms
8
+ * of the MIT license. See the LICENSE file for details.
9
+ */
10
+
11
+ import { callbackType } from '@forgerock/sdk-types';
12
+
13
+ export const webAuthnRegJSCallback653 = {
14
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
15
+ callbacks: [
16
+ {
17
+ type: callbackType.TextOutputCallback,
18
+ output: [
19
+ {
20
+ name: 'message',
21
+ value:
22
+ '/*\n * Copyright 2018-2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\nif (!window.PublicKeyCredential) {\n document.getElementById(\'webAuthnOutcome\').value = "unsupported";\n document.getElementById("loginButton_0").click();\n}\n\nvar publicKey = {\n challenge: new Int8Array([63, -71, 8, -32, 51, 11, 35, -85, -19, -93, -17, 9, -10, 104, 96, -5, -43, -94, 126, 123, 18, 44, -53, 27, 69, -59, -45, -113, 4, -120, -12, -17]).buffer,\n // Relying Party:\n rp: {\n \n name: "ForgeRock"\n },\n // User:\n user: {\n id: Uint8Array.from("sgsP5DNBy2TvEhwnWHu1BFRw2_LQepAdjkOfC1z6nxU", function (c) { return c.charCodeAt(0) }),\n name: "57a5b4e4-6999-4b45-bf86-a4f2e5d4b629",\n displayName: "57a5b4e4-6999-4b45-bf86-a4f2e5d4b629"\n },\n pubKeyCredParams: [ { "type": "public-key", "alg": -7 }, { "type": "public-key", "alg": -257 } ],\n attestation: "none",\n timeout: 60000,\n excludeCredentials: [],\n authenticatorSelection: {"userVerification":"discouraged"}\n};\n\nnavigator.credentials.create({publicKey: publicKey})\n .then(function (newCredentialInfo) {\n var rawId = newCredentialInfo.id;\n var clientData = String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.response.clientDataJSON));\n var keyData = new Int8Array(newCredentialInfo.response.attestationObject).toString();\n document.getElementById(\'webAuthnOutcome\').value = clientData + "::" + keyData + "::" + rawId;\n document.getElementById("loginButton_0").click();\n }).catch(function (err) {\n document.getElementById(\'webAuthnOutcome\').value = "ERROR" + "::" + err;\n document.getElementById("loginButton_0").click();\n });\n',
23
+ },
24
+ { name: 'messageType', value: '4' },
25
+ ],
26
+ },
27
+ {
28
+ type: callbackType.TextOutputCallback,
29
+ output: [
30
+ {
31
+ name: 'message',
32
+ value:
33
+ '/*\n * Copyright 2018 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n *\n */\n\n/*\n * Note:\n *\n * When a ConfirmationCallback is used (e.g. during recovery code use), the XUI does not render a loginButton. However\n * the webAuthn script needs to call loginButton.click() to execute the appropriate data reformatting prior to sending\n * the request into AM. Here we query whether the loginButton exists and add it to the DOM if it doesn\'t.\n */\n\nvar newLocation = document.getElementById("wrapper");\n\nvar script = "<div class=\\"form-group\\">\\n" +\n "<div class=\\"panel panel-default\\">\\n" +\n " <div class=\\"panel-body text-center\\">\\n" +\n " <h4 class=\\"awaiting-response\\"><i class=\\"fa fa-circle-o-notch fa-spin text-primary\\"></i> Waiting for local device... </h4>\\n" +\n " </div>\\n" +\n "</div>\\n";\n\nif (!document.getElementById("loginButton_0")) {\n script += "<input id=\\"loginButton_0\\" role=\\"button\\" type=\\"submit\\" hidden>";\n} else {\n document.getElementById("loginButton_0").style.visibility=\'hidden\';\n}\n\nscript += "</div>";\n\nnewLocation.getElementsByTagName("fieldset")[0].innerHTML += script;\ndocument.body.appendChild(newLocation);',
34
+ },
35
+ { name: 'messageType', value: '4' },
36
+ ],
37
+ },
38
+ {
39
+ type: callbackType.HiddenValueCallback,
40
+ output: [
41
+ { name: 'value', value: 'false' },
42
+ { name: 'id', value: 'webAuthnOutcome' },
43
+ ],
44
+ input: [{ name: 'IDToken3', value: 'webAuthnOutcome' }],
45
+ },
46
+ ],
47
+ };
48
+
49
+ export const webAuthnAuthJSCallback653 = {
50
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
51
+ callbacks: [
52
+ {
53
+ type: callbackType.TextOutputCallback,
54
+ output: [
55
+ {
56
+ name: 'message',
57
+ value:
58
+ '/*\n * Copyright 2018-2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\nif (!window.PublicKeyCredential) {\n document.getElementById(\'webAuthnOutcome\').value = "unsupported";\n document.getElementById("loginButton_0").click();\n}\n\nvar acceptableCredentials = [\n { "type": "public-key", "id": new Int8Array([1, 97, 2, 123, -105, -19, -106, 10, -86, 82, -23, 5, 52, 63, 103, 110, -71, 53, 107, 104, 76, -42, -49, 96, 67, -114, -97, 19, -59, 89, -102, -115, -110, -101, -6, -98, 39, -75, 2, 74, 23, -105, 67, 6, -112, 21, -3, 36, -114, 52, 35, 75, 74, 82, -8, 115, -128, -34, -105, 110, 124, 41, -79, -53, -90, 81, -11, -7, 91, -45, -67, -82, 106, 74, 30, 112, 100, -47, 54, -12, 95, 81, 97, 36, 123, -15, -91, 87, -82, 87, -45, -103, -80, 109, -111, 82, 109, 58, 50, 19, -21, -102, 54, -108, -68, 12, -101, -53, -65, 11, -94, -36, 112, -101, -95, -90, -118, 68, 13, 8, -49, -77, -28, -82, -97, 126, -71, 33, -58, 19, 58, -118, 36, -28, 22, -55, 64, -72, -80, -9, -48, -50, 58, -52, 64, -64, -27, -5, -12, 110, -95, -17]).buffer }\n];\n\nvar options = {\n \n challenge: new Int8Array([109, 14, 35, -101, 97, -69, -105, -89, -58, 14, 108, 59, 45, 87, 109, -78, -51, 64, 90, 124, -97, 43, -84, -108, -69, -117, 101, -4, -36, -69, -106, 103]).buffer,\n timeout: 60000,\n userVerification: "discouraged",\n allowCredentials: acceptableCredentials\n};\n\nnavigator.credentials.get({ "publicKey" : options })\n .then(function (assertion) {\n var clientData = String.fromCharCode.apply(null, new Uint8Array(assertion.response.clientDataJSON));\n var authenticatorData = new Int8Array(assertion.response.authenticatorData).toString();\n var signature = new Int8Array(assertion.response.signature).toString();\n var rawId = assertion.id;\n document.getElementById(\'webAuthnOutcome\').value = clientData + "::" + authenticatorData + "::" + signature + "::" + rawId;\n document.getElementById("loginButton_0").click();\n }).catch(function (err) {\n document.getElementById(\'webAuthnOutcome\').value = "ERROR" + "::" + err;\n document.getElementById("loginButton_0").click();\n });\n',
59
+ },
60
+ { name: 'messageType', value: '4' },
61
+ ],
62
+ },
63
+ {
64
+ type: callbackType.TextOutputCallback,
65
+ output: [
66
+ {
67
+ name: 'message',
68
+ value:
69
+ '/*\n * Copyright 2018 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n *\n */\n\n/*\n * Note:\n *\n * When a ConfirmationCallback is used (e.g. during recovery code use), the XUI does not render a loginButton. However\n * the webAuthn script needs to call loginButton.click() to execute the appropriate data reformatting prior to sending\n * the request into AM. Here we query whether the loginButton exists and add it to the DOM if it doesn\'t.\n */\n\nvar newLocation = document.getElementById("wrapper");\n\nvar script = "<div class=\\"form-group\\">\\n" +\n "<div class=\\"panel panel-default\\">\\n" +\n " <div class=\\"panel-body text-center\\">\\n" +\n " <h4 class=\\"awaiting-response\\"><i class=\\"fa fa-circle-o-notch fa-spin text-primary\\"></i> Waiting for local device... </h4>\\n" +\n " </div>\\n" +\n "</div>\\n";\n\nif (!document.getElementById("loginButton_0")) {\n script += "<input id=\\"loginButton_0\\" role=\\"button\\" type=\\"submit\\" hidden>";\n} else {\n document.getElementById("loginButton_0").style.visibility=\'hidden\';\n}\n\nscript += "</div>";\n\nnewLocation.getElementsByTagName("fieldset")[0].innerHTML += script;\ndocument.body.appendChild(newLocation);',
70
+ },
71
+ { name: 'messageType', value: '4' },
72
+ ],
73
+ },
74
+ {
75
+ type: callbackType.HiddenValueCallback,
76
+ output: [
77
+ { name: 'value', value: 'false' },
78
+ { name: 'id', value: 'webAuthnOutcome' },
79
+ ],
80
+ input: [{ name: 'IDToken3', value: 'webAuthnOutcome' }],
81
+ },
82
+ ],
83
+ };
84
+
85
+ export const webAuthnRegJSCallback70 = {
86
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
87
+ callbacks: [
88
+ {
89
+ type: callbackType.TextOutputCallback,
90
+ output: [
91
+ {
92
+ name: 'message',
93
+ value:
94
+ '/*\n * Copyright 2018-2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\nif (!window.PublicKeyCredential) {\n document.getElementById(\'webAuthnOutcome\').value = "unsupported";\n document.getElementById("loginButton_0").click();\n}\n\nvar publicKey = {\n challenge: new Int8Array([87, -95, 18, -17, -59, -3, -72, -9, -109, 77, -66, 67, 101, -59, -29, -92, -31, -58, 117, -14, 3, -123, 1, -54, -69, -122, 44, 111, 30, 49, 12, 81]).buffer,\n // Relying Party:\n rp: {\n id: "https://user.example.com:3002",\n name: "ForgeRock"\n },\n // User:\n user: {\n id: Uint8Array.from("NTdhNWI0ZTQtNjk5OS00YjQ1LWJmODYtYTRmMmU1ZDRiNjI5", function (c) { return c.charCodeAt(0) }),\n name: "57a5b4e4-6999-4b45-bf86-a4f2e5d4b629",\n displayName: "57a5b4e4-6999-4b45-bf86-a4f2e5d4b629"\n },\n pubKeyCredParams: [ { "type": "public-key", "alg": -257 }, { "type": "public-key", "alg": -7 } ],\n attestation: "none",\n timeout: 60000,\n excludeCredentials: [{ "type": "public-key", "id": new Int8Array([49, -96, -107, 113, 106, 5, 115, 22, 68, 121, -85, -27, 8, -58, -113, 127, -105, -37, -10, -12, -58, -25, 29, -82, -18, 69, -99, 125, 33, 82, 38, -66, -27, -128, -91, -86, 87, 68, 94, 0, -78, 70, -11, -70, -14, -53, 38, -60, 46, 27, 66, 46, 21, -125, -70, 123, -46, -124, 86, -2, 102, 70, -52, 54]).buffer },{ "type": "public-key", "id": new Int8Array([64, 17, -15, -123, -21, 127, 76, -120, 90, -112, -5, 54, 105, 93, 82, -104, -79, 107, -69, -3, -113, -94, -59, -4, 126, -33, 117, 32, -44, 122, -97, 8, -112, 105, -96, 96, 90, 44, -128, -121, 107, 79, -98, -68, -93, 11, -105, -47, 102, 13, 110, 84, 59, -91, -30, 37, -3, -22, 39, 111, -10, 87, -50, -35]).buffer }],\n authenticatorSelection: {"userVerification":"preferred"}\n};\n\nnavigator.credentials.create({publicKey: publicKey})\n .then(function (newCredentialInfo) {\n var rawId = newCredentialInfo.id;\n var clientData = String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.response.clientDataJSON));\n var keyData = new Int8Array(newCredentialInfo.response.attestationObject).toString();\n document.getElementById(\'webAuthnOutcome\').value = clientData + "::" + keyData + "::" + rawId;\n document.getElementById("loginButton_0").click();\n }).catch(function (err) {\n document.getElementById(\'webAuthnOutcome\').value = "ERROR" + "::" + err;\n document.getElementById("loginButton_0").click();\n });',
95
+ },
96
+ { name: 'messageType', value: '4' },
97
+ ],
98
+ },
99
+ {
100
+ type: callbackType.TextOutputCallback,
101
+ output: [
102
+ {
103
+ name: 'message',
104
+ value:
105
+ '/*\n * Copyright 2018 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n *\n */\n\n/*\n * Note:\n *\n * When a ConfirmationCallback is used (e.g. during recovery code use), the XUI does not render a loginButton. However\n * the webAuthn script needs to call loginButton.click() to execute the appropriate data reformatting prior to sending\n * the request into AM. Here we query whether the loginButton exists and add it to the DOM if it doesn\'t.\n */\n\nvar newLocation = document.getElementById("wrapper");\n\nvar script = "<div class=\\"form-group\\">\\n" +\n "<div class=\\"panel panel-default\\">\\n" +\n " <div class=\\"panel-body text-center\\">\\n" +\n " <h4 class=\\"awaiting-response\\"><i class=\\"fa fa-circle-o-notch fa-spin text-primary\\"></i> Waiting for local device... </h4>\\n" +\n " </div>\\n" +\n "</div>\\n";\n\nif (!document.getElementById("loginButton_0")) {\n script += "<input id=\\"loginButton_0\\" role=\\"button\\" type=\\"submit\\" hidden>";\n} else {\n document.getElementById("loginButton_0").style.visibility=\'hidden\';\n}\n\nscript += "</div>";\n\nnewLocation.getElementsByTagName("fieldset")[0].innerHTML += script;\ndocument.body.appendChild(newLocation);',
106
+ },
107
+ { name: 'messageType', value: '4' },
108
+ ],
109
+ },
110
+ {
111
+ type: callbackType.HiddenValueCallback,
112
+ output: [
113
+ { name: 'value', value: 'false' },
114
+ { name: 'id', value: 'webAuthnOutcome' },
115
+ ],
116
+ input: [{ name: 'IDToken3', value: 'webAuthnOutcome' }],
117
+ },
118
+ ],
119
+ };
120
+
121
+ export const webAuthnAuthJSCallback70 = {
122
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
123
+ callbacks: [
124
+ {
125
+ type: callbackType.TextOutputCallback,
126
+ output: [
127
+ {
128
+ name: 'message',
129
+ value:
130
+ '/*\n * Copyright 2018-2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\nif (!window.PublicKeyCredential) {\n document.getElementById(\'webAuthnOutcome\').value = "unsupported";\n document.getElementById("loginButton_0").click();\n}\n\nvar options = {\n \n challenge: new Int8Array([-2, 85, 78, -80, -124, -6, -118, 15, 77, -30, -76, -27, -43, -19, -51, -68, 60, -80, -64, -102, 73, -103, 76, -77, -96, -28, 5, -23, -59, -36, 1, -1]).buffer,\n timeout: 60000,\n allowCredentials: [{ "type": "public-key", "id": new Int8Array([-107, 93, 68, -67, -5, 107, 18, 16, -25, -30, 80, 103, -75, -53, -2, -95, 102, 42, 47, 126, -1, 85, 93, 45, -85, 8, -108, 107, 47, -25, 66, 12, -96, 81, 104, -127, 26, -59, -69, -23, 75, 89, 58, 124, -93, 4, 28, -128, 121, 35, 39, 103, -86, -86, 123, -67, -7, -4, 79, -49, 127, -19, 7, 4]).buffer }]\n};\n\nnavigator.credentials.get({ "publicKey" : options })\n .then(function (assertion) {\n var clientData = String.fromCharCode.apply(null, new Uint8Array(assertion.response.clientDataJSON));\n var authenticatorData = new Int8Array(assertion.response.authenticatorData).toString();\n var signature = new Int8Array(assertion.response.signature).toString();\n var rawId = assertion.id;\n var userHandle = String.fromCharCode.apply(null, new Uint8Array(assertion.response.userHandle));\n document.getElementById(\'webAuthnOutcome\').value = clientData + "::" + authenticatorData + "::" + signature + "::" + rawId + "::" + userHandle;\n document.getElementById("loginButton_0").click();\n }).catch(function (err) {\n document.getElementById(\'webAuthnOutcome\').value = "ERROR" + "::" + err;\n document.getElementById("loginButton_0").click();\n });\n',
131
+ },
132
+ { name: 'messageType', value: '4' },
133
+ ],
134
+ },
135
+ {
136
+ type: callbackType.TextOutputCallback,
137
+ output: [
138
+ {
139
+ name: 'message',
140
+ value:
141
+ '/*\n * Copyright 2018 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n *\n */\n\n/*\n * Note:\n *\n * When a ConfirmationCallback is used (e.g. during recovery code use), the XUI does not render a loginButton. However\n * the webAuthn script needs to call loginButton.click() to execute the appropriate data reformatting prior to sending\n * the request into AM. Here we query whether the loginButton exists and add it to the DOM if it doesn\'t.\n */\n\nvar newLocation = document.getElementById("wrapper");\n\nvar script = "<div class=\\"form-group\\">\\n" +\n "<div class=\\"panel panel-default\\">\\n" +\n " <div class=\\"panel-body text-center\\">\\n" +\n " <h4 class=\\"awaiting-response\\"><i class=\\"fa fa-circle-o-notch fa-spin text-primary\\"></i> Waiting for local device... </h4>\\n" +\n " </div>\\n" +\n "</div>\\n";\n\nif (!document.getElementById("loginButton_0")) {\n script += "<input id=\\"loginButton_0\\" role=\\"button\\" type=\\"submit\\" hidden>";\n} else {\n document.getElementById("loginButton_0").style.visibility=\'hidden\';\n}\n\nscript += "</div>";\n\nnewLocation.getElementsByTagName("fieldset")[0].innerHTML += script;\ndocument.body.appendChild(newLocation);',
142
+ },
143
+ { name: 'messageType', value: '4' },
144
+ ],
145
+ },
146
+ {
147
+ type: callbackType.HiddenValueCallback,
148
+ output: [
149
+ { name: 'value', value: 'false' },
150
+ { name: 'id', value: 'webAuthnOutcome' },
151
+ ],
152
+ input: [{ name: 'IDToken3', value: 'webAuthnOutcome' }],
153
+ },
154
+ ],
155
+ };
156
+
157
+ export const webAuthnRegJSCallback70StoredUsername = {
158
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
159
+ callbacks: [
160
+ {
161
+ type: callbackType.TextOutputCallback,
162
+ output: [
163
+ {
164
+ name: 'message',
165
+ value:
166
+ '/*\n * Copyright 2018-2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\nif (!window.PublicKeyCredential) {\n document.getElementById(\'webAuthnOutcome\').value = "unsupported";\n document.getElementById("loginButton_0").click();\n}\n\nvar publicKey = {\n challenge: new Int8Array([-90, -30, 14, -111, 43, -115, -125, 43, -96, 124, -109, -1, -100, -64, -52, -56, -15, -9, 41, 22, -111, -116, -65, -88, 108, -60, -58, 53, 62, -66, -34, 104]).buffer,\n // Relying Party:\n rp: {\n \n name: "ForgeRock"\n },\n // User:\n user: {\n id: Uint8Array.from("NTdhNWI0ZTQtNjk5OS00YjQ1LWJmODYtYTRmMmU1ZDRiNjI5", function (c) { return c.charCodeAt(0) }),\n name: "57a5b4e4-6999-4b45-bf86-a4f2e5d4b629",\n displayName: "57a5b4e4-6999-4b45-bf86-a4f2e5d4b629"\n },\n pubKeyCredParams: [ { "type": "public-key", "alg": -257 }, { "type": "public-key", "alg": -7 } ],\n attestation: "none",\n timeout: 60000,\n excludeCredentials: [],\n authenticatorSelection: {"userVerification":"preferred","requireResidentKey":true}\n};\n\nnavigator.credentials.create({publicKey: publicKey})\n .then(function (newCredentialInfo) {\n var rawId = newCredentialInfo.id;\n var clientData = String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.response.clientDataJSON));\n var keyData = new Int8Array(newCredentialInfo.response.attestationObject).toString();\n document.getElementById(\'webAuthnOutcome\').value = clientData + "::" + keyData + "::" + rawId;\n document.getElementById("loginButton_0").click();\n }).catch(function (err) {\n document.getElementById(\'webAuthnOutcome\').value = "ERROR" + "::" + err;\n document.getElementById("loginButton_0").click();\n });',
167
+ },
168
+ { name: 'messageType', value: '4' },
169
+ ],
170
+ },
171
+ {
172
+ type: callbackType.TextOutputCallback,
173
+ output: [
174
+ {
175
+ name: 'message',
176
+ value:
177
+ '/*\n * Copyright 2018 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n *\n */\n\n/*\n * Note:\n *\n * When a ConfirmationCallback is used (e.g. during recovery code use), the XUI does not render a loginButton. However\n * the webAuthn script needs to call loginButton.click() to execute the appropriate data reformatting prior to sending\n * the request into AM. Here we query whether the loginButton exists and add it to the DOM if it doesn\'t.\n */\n\nvar newLocation = document.getElementById("wrapper");\n\nvar script = "<div class=\\"form-group\\">\\n" +\n "<div class=\\"panel panel-default\\">\\n" +\n " <div class=\\"panel-body text-center\\">\\n" +\n " <h4 class=\\"awaiting-response\\"><i class=\\"fa fa-circle-o-notch fa-spin text-primary\\"></i> Waiting for local device... </h4>\\n" +\n " </div>\\n" +\n "</div>\\n";\n\nif (!document.getElementById("loginButton_0")) {\n script += "<input id=\\"loginButton_0\\" role=\\"button\\" type=\\"submit\\" hidden>";\n} else {\n document.getElementById("loginButton_0").style.visibility=\'hidden\';\n}\n\nscript += "</div>";\n\nnewLocation.getElementsByTagName("fieldset")[0].innerHTML += script;\ndocument.body.appendChild(newLocation);',
178
+ },
179
+ { name: 'messageType', value: '4' },
180
+ ],
181
+ },
182
+ {
183
+ type: callbackType.HiddenValueCallback,
184
+ output: [
185
+ { name: 'value', value: 'false' },
186
+ { name: 'id', value: 'webAuthnOutcome' },
187
+ ],
188
+ input: [{ name: 'IDToken3', value: 'webAuthnOutcome' }],
189
+ },
190
+ ],
191
+ };
192
+
193
+ export const webAuthnRegMetaCallback70 = {
194
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
195
+ callbacks: [
196
+ {
197
+ type: callbackType.MetadataCallback,
198
+ output: [
199
+ {
200
+ name: 'data',
201
+ value: {
202
+ relyingPartyName: 'ForgeRock',
203
+ attestationPreference: 'none',
204
+ displayName: '57a5b4e4-6999-4b45-bf86-a4f2e5d4b629',
205
+ _type: 'WebAuthn',
206
+ relyingPartyId: '',
207
+ userName: '57a5b4e4-6999-4b45-bf86-a4f2e5d4b629',
208
+ authenticatorSelection: '{"userVerification":"preferred"}',
209
+ userId: 'NTdhNWI0ZTQtNjk5OS00YjQ1LWJmODYtYTRmMmU1ZDRiNjI5',
210
+ timeout: '60000',
211
+ excludeCredentials: '',
212
+ pubKeyCredParams:
213
+ '[ { "type": "public-key", "alg": -257 }, { "type": "public-key", "alg": -7 } ]',
214
+ challenge: 'PiIwSUMSo5qN7ahxaBVzWCHnpIxiWZPBix3PDI4/O8k=',
215
+ },
216
+ },
217
+ ],
218
+ },
219
+ {
220
+ type: callbackType.HiddenValueCallback,
221
+ output: [
222
+ { name: 'value', value: 'false' },
223
+ { name: 'id', value: 'webAuthnOutcome' },
224
+ ],
225
+ input: [{ name: 'IDToken2', value: 'webAuthnOutcome' }],
226
+ },
227
+ ],
228
+ };
229
+
230
+ export const webAuthnAuthMetaCallback70 = {
231
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
232
+ callbacks: [
233
+ {
234
+ type: callbackType.MetadataCallback,
235
+ output: [
236
+ {
237
+ name: 'data',
238
+ value: {
239
+ userVerification: 'preferred',
240
+ _type: 'WebAuthn',
241
+ challenge: 'J7kVW1EpFY3thLYVMAAJuR9dswysFhqgrBT6vvSuidE=',
242
+ relyingPartyId: '',
243
+ allowCredentials:
244
+ 'allowCredentials: [{ "type": "public-key", "id": new Int8Array([1, 122, 110, -32, -105, -95, -90, 81, 20, -122, -96, -115, -115, 38, -7, 15, -127, 48, 48, 97, 94, -23, -54, 74, 3, -41, -118, -124, 112, 5, -77, 87, -11, 102, -86, 93, 27, 112, -128, 103, -58, -75, 68, -62, -62, 72, -27, 108, -59, 0, -124, -117, -121, -52, -97, -88, -112, 22, 122, 109, 104, -89, -10, 46, -95, 62, 64, 43, -42, 127, -53, -98, 88, -126, -68, -94, -5, 81, -71, -52, -54, -12, -55, 127, -125, 125, 53, -61, 61, 47, -66, -12, 25, 115, -24, -56, 95, 8, -20, -6, 4, 72, -45, -103, -52, 39, 123, 13, 9, -79, 99, -62, 84, -2, -41, 55, 125, 17, 126, -38, -80, -83, -28, 99, -26, -30, -18, 122, 92, -91, -128, -27, 4, 27, -39, 36, 117, 4, 120, 9, -24, -72, 84, 124, 25, 100, -40, 32, 63, -97, 119, 10, 73, 8, -46, 61, 56]).buffer },{ "type": "public-key", "id": new Int8Array([1, 15, 3, 3, 70, 54, 31, -27, -121, 121, 41, 83, -28, -49, 9, -113, -58, 117, -97, 18, 1, 100, -29, 6, -116, -93, 90, -91, 75, -120, -127, 50, 99, -37, -56, -41, 105, 42, 8, -87, -21, 37, -7, 96, -121, -125, -33, 79, 2, -10, 127, -117, 23, 46, 42, 29, 125, 91, 47, -101, 126, 44, 70, -84, -124, -94, -119, -87, 63, -116, 11, -28, 127, 76, -67, 36, -62, 62, -125, -82, 99, 71, 24, 32, -87, 93, 53, 97, -44, 18, -14, 77, 80, 77, 110, -80, -52, 18, 69, 127, 82, -27, -116, 42, -66, -53, -26, -29, 74, 75, 34, -88, -119, 118, -50, -70, -110, -68, -91, -15, 100, 113, 24, 13, -127, 39, -1, -85, 114, -125, 89, 89, -101, 94, -37, 82, -61, 15, -2, 3, -4, 9, 28, -75, -84, 96, 60, 85, -44, -98, -27, -29, 107, -115, -111, -3, -102]).buffer }]',
245
+ timeout: '60000',
246
+ },
247
+ },
248
+ ],
249
+ },
250
+ {
251
+ type: callbackType.HiddenValueCallback,
252
+ output: [
253
+ { name: 'value', value: 'false' },
254
+ { name: 'id', value: 'webAuthnOutcome' },
255
+ ],
256
+ input: [{ name: 'IDToken2', value: 'webAuthnOutcome' }],
257
+ },
258
+ ],
259
+ };
260
+
261
+ export const webAuthnRegMetaCallback70StoredUsername = {
262
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
263
+ callbacks: [
264
+ {
265
+ type: callbackType.MetadataCallback,
266
+ output: [
267
+ {
268
+ name: 'data',
269
+ value: {
270
+ relyingPartyName: 'ForgeRock',
271
+ attestationPreference: 'none',
272
+ displayName: '57a5b4e4-6999-4b45-bf86-a4f2e5d4b629',
273
+ _type: 'WebAuthn',
274
+ relyingPartyId: '',
275
+ userName: '57a5b4e4-6999-4b45-bf86-a4f2e5d4b629',
276
+ authenticatorSelection: '{"userVerification":"preferred","requireResidentKey":true}',
277
+ userId: 'NTdhNWI0ZTQtNjk5OS00YjQ1LWJmODYtYTRmMmU1ZDRiNjI5',
278
+ timeout: '60000',
279
+ excludeCredentials: '',
280
+ pubKeyCredParams:
281
+ '[ { "type": "public-key", "alg": -257 }, { "type": "public-key", "alg": -7 } ]',
282
+ challenge: 'DfZ7CvBgBaApXZgcqSb+7/yA5ih/yRHhpDzrrWLMtZc=',
283
+ },
284
+ },
285
+ ],
286
+ },
287
+ {
288
+ type: callbackType.HiddenValueCallback,
289
+ output: [
290
+ { name: 'value', value: 'false' },
291
+ { name: 'id', value: 'webAuthnOutcome' },
292
+ ],
293
+ input: [{ name: 'IDToken2', value: 'webAuthnOutcome' }],
294
+ },
295
+ ],
296
+ };
297
+
298
+ export const webAuthnAuthMetaCallback70StoredUsername = {
299
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
300
+ callbacks: [
301
+ {
302
+ type: callbackType.MetadataCallback,
303
+ output: [
304
+ {
305
+ name: 'data',
306
+ value: {
307
+ userVerification: 'preferred',
308
+ _type: 'WebAuthn',
309
+ challenge: 'OHmmFKfBhrUZKkuZJ84lf9N8TaRmQSjRdZyueeSIXAo=',
310
+ relyingPartyId: '',
311
+ allowCredentials: '',
312
+ timeout: '60000',
313
+ },
314
+ },
315
+ ],
316
+ },
317
+ {
318
+ type: callbackType.HiddenValueCallback,
319
+ output: [
320
+ { name: 'value', value: 'false' },
321
+ { name: 'id', value: 'webAuthnOutcome' },
322
+ ],
323
+ input: [{ name: 'IDToken2', value: 'webAuthnOutcome' }],
324
+ },
325
+ ],
326
+ };
327
+
328
+ export const webAuthnAuthMetaCallbackJsonResponse = {
329
+ authId:
330
+ 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoSW5kZXhWYWx1ZSI6IndlYmF1dGhuIiwib3RrIjoicXN1dTA0anNxZ2hmcGpubjFiM2IxdDh0NTQiLCJhdXRoSW5kZXhUeXBlIjoic2VydmljZSIsInJlYWxtIjoiLyIsInNlc3Npb25JZCI6IipBQUpUU1FBQ01ERUFCSFI1Y0dVQUNFcFhWRjlCVlZSSUFBSlRNUUFBKmV5SjBlWEFpT2lKS1YxUWlMQ0pqZEhraU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuWlhsS01HVllRV2xQYVVwTFZqRlJhVXhEU214aWJVMXBUMmxLUWsxVVNUUlJNRXBFVEZWb1ZFMXFWVEpKYVhkcFdWZDRia2xxYjJsYVIyeDVTVzR3TGk0M01qbDZSRXhsU0hwM1pXbFVPRll6VDB4cFgycEJMbGxpV1Y5WVl6WTJPVWxJU0MxT01VTk5Va05MZVROdFZFaHliVlJSVDJoV2VVSTBUVUUzYUVoRmFISjFTRU5SVWpWeWVsQnRZVzFpYlRNeFFqQlhSMlZxVEU5allUWllWMEUwTVROSlozRnVXV2gwV0hadlRHaE9VMkpDYUdkUlJFaGFSV1pLVmxaeWNsOTBTRUpJU1Y5elIyMVhNMEZYWm5wTk9WZElXblJMTm10ZmFITm9hemRNUTBkSVkwbzVhVGQ2Wnpob2FUbFROVm8wTVVkbk1rZFpXSFJJTnpoWlRGOVVaVTl5VWtOc1ozTlBkbDlWTWpGRFJ6STBReTFMWVRJNVMxRm9ibFYwTTNCVlozWldiamRCVUhWdWRFdEdaR2h6VERselJ6QlBTVnAwYzNoV1NqTXRPVmc1TmpSM2VrVldSV2w2Vnprek9XNTRlVm94VjNWVVgzWmpTRzFFV2t4eE0yWTJXamswVlVWTU5VNDJjMjVMTWs5U01XeDBOR3BrVld3eWVVMVRaVXR6YzJkb2VIRmlNMnhoZW1WQlVtMDBWM3BUVld4c1JFUTRVVVJuWDNoSFozSktlVmhQZWxCa1RWUnZYeTB0U1c0MFkxVjBTeloxTVdWSVkxOWhZbkZLTlhsRVpWcEpaM04yYkU5eE5qVTJkVU5KV0dzNU9GbElWMHBEWkhSR1MzcGtWV1k1ZG0xNlJIWk9iMmxXTlZnd2RXd3hiRzlTV0dOaFZtTkhVMDlaTlVGNFdITkJkSGd5UVhkVlVXUnViR0pmYTJodWN5MUhXblowZUVOM1lYRldlR2h1T1RsdVVWY3ljWFphUjNCTk1raFVPRzFMYUU5SVIyOVJOQzFWVkZrNVVWbDBNbGcwZGpaZlQzSk5kemxUZEdwSVl6RnRjMTkxVTI1VWVtVmpUR2RYUkVZdFVFNXNVM0J1Ymkxc1EyRlljRXREVmxsS1FVeDVUbWhoWDBJeGQwNTRSRzV0WW5vNVdYVjFXakZMYzFWTkxVZHJjVlJZYkY5c2JqUlBMVEpXVUhoTVFYSjFVblZOZW0xaVgxQndRMjlqY1d4T1Z6Sm1jWHBPV25seVlteE9RVEZXUkdaM04yYzJNMnhmTkhvd05UWkhlRXhOVjBOck5rOTZVQzFMY1RJMVlXTmxSa0ZQWWpGd1JtMXBkVGgzWW5kUGVITmtZa0ZLVW0xSWMxVlJWVzlQWm5aQlpURldORmcyUW5veGNFeG9SV3d0UzNGblkwMDBjMjluYTFab1YyRkhZWFpyVFUxSVFTNVlWRVpOV1d4R2F6bHFSV1V5VG5CamFIZDVZVzVuLmYyS2t1RlhnM05MUU1NbGNnMU1HU2Y2YTZQVmdJalhtUC1wcmJhQTNtTnciLCJleHAiOjE2MTM0OTc0OTksImlhdCI6MTYxMzQ5NzE5OX0.EuDmsY3C6I6vc_x7KlkW4rSQJY1FWevbGGmxkSu4HVU',
331
+ callbacks: [
332
+ {
333
+ type: 'MetadataCallback',
334
+ output: [
335
+ {
336
+ name: 'data',
337
+ value: {
338
+ _action: 'webauthn_authentication',
339
+ challenge: 'qnMsxgya8h6mUc6OyRu8jJ6Oq16tHV3cgE7juXGMDbg=',
340
+ allowCredentials: '',
341
+ _allowCredentials: [],
342
+ timeout: '60000',
343
+ userVerification: 'preferred',
344
+ relyingPartyId: 'rpId: "humorous-cuddly-carrot.glitch.me",',
345
+ _relyingPartyId: 'humorous-cuddly-carrot.glitch.me',
346
+ _type: 'WebAuthn',
347
+ supportsJsonResponse: true,
348
+ },
349
+ },
350
+ ],
351
+ },
352
+ {
353
+ type: 'HiddenValueCallback',
354
+ output: [
355
+ {
356
+ name: 'value',
357
+ value: 'false',
358
+ },
359
+ {
360
+ name: 'id',
361
+ value: 'webAuthnOutcome',
362
+ },
363
+ ],
364
+ input: [
365
+ {
366
+ name: 'IDToken2',
367
+ value: 'webAuthnOutcome',
368
+ },
369
+ ],
370
+ },
371
+ ],
372
+ };
373
+
374
+ export const webAuthnRegMetaCallbackJsonResponse = {
375
+ authId:
376
+ 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3aGl0ZWxpc3Qtc3RhdGUiOiJjMjMzNDRkMC04ZTlhLTRhM2QtODZkMS1mNTIwNTExZmM3NjciLCJhdXRoSW5kZXhWYWx1ZSI6IkFuZHlXZWJBdXRobiIsIm90ayI6ImFzdTNjMmo4YThta2w0aWQyN3FndGFuaTVqIiwiYXV0aEluZGV4VHlwZSI6InNlcnZpY2UiLCJyZWFsbSI6Ii9hbHBoYSIsInNlc3Npb25JZCI6IipBQUpUU1FBQ01ESUFCSFI1Y0dVQUNFcFhWRjlCVlZSSUFBSlRNUUFDTURFLipleUowZVhBaU9pSktWMVFpTENKamRIa2lPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LlpYbEtNR1ZZUVdsUGFVcExWakZSYVV4RFNteGliVTFwVDJsS1FrMVVTVFJSTUVwRVRGVm9WRTFxVlRKSmFYZHBXVmQ0YmtscWIybGFSMng1U1c0d0xpNVJkVXBMWTBnNGIwUjViemxZV0ZKcE0wNDJjQzFCTG0xRU0xOWFOVlZrZURGeVYxUk9lR2MwVUVWNFNHMW1OMGN5TkdoSU1YRXpPV0ZhVDNoaWREbFlUa000VEZscU1VRm1la1pXUzBkME1ubEJVMmxvT1hCNmJIRjNOVTQ0Y0ZsblZXRnplV2g1VEdWUFdtWldaVkpqVldNMmNGRjJOVmxhZEROdGNHWnZOMWRuV1hsWVNrRnZRWGQxZEhka2NYVlhaVXBYWkRScVl6TlBkRTFOTlVOV1NWaGtTRFZqVURGTVlrRjVTblJHWVd4NlIyWkplVGRtWW0xQll6SkZTbGxLUVdGNFZqTTRSa0l0TjFWVFFWZEVaMWxsUW14elYzQXRjWEZSYlRSdFIyUnBkRlpwYzBFdGNWRTFUbEpaU0cxQlJXSnpVVXBtWVdoRVQzSllUMFo1ZVZNM2VUUnVaV3BHUjNaWExVaFFRV054YjJ0TGNFMWZhVFkyWVRrdFZrbE9UMWxaY0RoWFQxaFFiR2hVTWt4YVIwVk1SVEpuVUhsWFkzcDJNV2xCVjBwcU4zVlVjVWx2UjFCTllVNUxSSEJKZGpaTk4wdFphVnA2YzJoUE9IRmxTMWw1VjJ3emNWWk9Tek4wWjJOamNGbERZVkJmT0ZGcGNuZG9iMkV3UjNOSWRIRk9SR04yYlhCUldIbE1ZM1Z3VGpkdmJGbDNhREV5WlVsTU9HaEZla0pLUldkMlVFaGpTM0JDYmxKVVYwOWlkemhJUlZobFJFZzRNbGxDWmxJdGVXMXpYMjlZT0c1dFpURldhbFJvUVZnMlRHZGtkbkUwVTJ4MmJYVjFYMTlzZVZack9GQnVZV3RDTldvMWVHOUtkVkUwTjFwRlZERnBUbGsxVkhCQlVHNUNOMjVuVVhaeWExRnlWR1ZHZFZKdU1EUlFPV1E0TTJ0MFVXcEhaMlpyUVdkbVNrNWpiek54YUZOR1dGb3dWM2swWldkUlpHdGhUVFU0ZGxSVVJtRlhlRjl1VERkdk9XdGFha3hXUjA4eFh6Sk9Oa0ZGVW5SVWFpMU9MVll6UmxwMlJYTnpRbnBTV1V0V2VGUm5UMTlRUTNWVmMxaDJjVzFVU1ZkcFNUQnhYekE0ZFhSVlVXcGpRMHhWUjNCVlZHRnVhR0pCVldKV1R6SnZVWHBVVTJ4bkxUTTJhakJWZVMxdlYxQTVNblo0ZVhvMWRUSkZkRVpwWkRaRGMxWmFMVVl3TFdkbWNFTnBkUzFGVlVzNFJITklhelZCUXpFNVp6VnRNMkY0Tmw5TFZuTlBkMmxIWDIxMU5tcHhOVzlsTlhkbFFtVm9iRE5RV0ZCTmFERTRTRWRrTTFOVVRHUmphVjl0VXpKTFJuYzJTM2xvWVd0a1dIcElXREZSTFdwRVIzWkRlRzF4YzJGcFZuUllhVlJSTXpSM1pVdGFhRk15VEVSVVpITklWM0JZTFdReFREa3lSMlJrVFc1UGJWRkhlV3A0WkRScU16TlFPVW96TVdGNGMyVXhZbDlFY1MxeWFXZHZZM2huTG1wR2VXWmxRVTlRVjBwMldUaHNaV3B1Wm1RemIyYy43YmdYcE5RNGRLSEpTeGpmUEVZZm44MGxZc3owaXBwNngyaURtRXlqd1JjIiwiZXhwIjoxNzQyODQzMDQ4LCJpYXQiOjE3NDI4NDI3NDh9.3zuPwPZVeFSwezhmzSZe-HW-22zo1HXwEPJO5jGl0Cg',
377
+ callbacks: [
378
+ {
379
+ type: 'MetadataCallback',
380
+ output: [
381
+ {
382
+ name: 'data',
383
+ value: {
384
+ _action: 'webauthn_registration',
385
+ challenge: 'QMmVc2lSU6G+jx6IYNOd6EaPz6X8jBzkxI9TMdVyWTw=',
386
+ attestationPreference: 'none',
387
+ userName: 'demo',
388
+ userId: 'NzcyNTI2NmMtYmZiZi00ZGFiLWFhYzEtNjY3NjUyMGIzNmZl',
389
+ relyingPartyName: 'ForgeRock',
390
+ authenticatorSelection:
391
+ '{"userVerification":"preferred","residentKey":"required","requireResidentKey":true}',
392
+ _authenticatorSelection: {
393
+ userVerification: 'preferred',
394
+ residentKey: 'required',
395
+ requireResidentKey: true,
396
+ },
397
+ pubKeyCredParams:
398
+ '[ { "type": "public-key", "alg": -257 }, { "type": "public-key", "alg": -7 } ]',
399
+ _pubKeyCredParams: [
400
+ {
401
+ type: 'public-key',
402
+ alg: -257,
403
+ },
404
+ {
405
+ type: 'public-key',
406
+ alg: -7,
407
+ },
408
+ ],
409
+ timeout: '60000',
410
+ excludeCredentials: '',
411
+ _excludeCredentials: [],
412
+ displayName: 'demo',
413
+ relyingPartyId: 'id: "idc.petrov.ca",',
414
+ _relyingPartyId: 'idc.petrov.ca',
415
+ extensions: {},
416
+ _type: 'WebAuthn',
417
+ supportsJsonResponse: true,
418
+ },
419
+ },
420
+ ],
421
+ },
422
+ {
423
+ type: 'HiddenValueCallback',
424
+ output: [
425
+ {
426
+ name: 'value',
427
+ value: 'false',
428
+ },
429
+ {
430
+ name: 'id',
431
+ value: 'webAuthnOutcome',
432
+ },
433
+ ],
434
+ input: [
435
+ {
436
+ name: 'IDToken2',
437
+ value: 'webAuthnOutcome',
438
+ },
439
+ ],
440
+ },
441
+ ],
442
+ };
443
+
444
+ export const webAuthnAuthJSCallback70StoredUsername = {
445
+ authId: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ... ',
446
+ callbacks: [
447
+ {
448
+ type: callbackType.TextOutputCallback,
449
+ output: [
450
+ {
451
+ name: 'message',
452
+ value:
453
+ '/*\n * Copyright 2018-2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\nif (!window.PublicKeyCredential) {\n document.getElementById(\'webAuthnOutcome\').value = "unsupported";\n document.getElementById("loginButton_0").click();\n}\n\nvar options = {\n \n challenge: new Int8Array([50, -11, 63, -112, 37, -61, 57, 126, 83, -127, 122, -42, -102, -82, 26, -95, -75, -37, 16, 52, 27, 54, -101, 124, -16, 99, 33, 92, 63, 10, -110, 102]).buffer,\n timeout: 60000,\n userVerification: "preferred",\n \n};\n\nnavigator.credentials.get({ "publicKey" : options })\n .then(function (assertion) {\n var clientData = String.fromCharCode.apply(null, new Uint8Array(assertion.response.clientDataJSON));\n var authenticatorData = new Int8Array(assertion.response.authenticatorData).toString();\n var signature = new Int8Array(assertion.response.signature).toString();\n var rawId = assertion.id;\n var userHandle = String.fromCharCode.apply(null, new Uint8Array(assertion.response.userHandle));\n document.getElementById(\'webAuthnOutcome\').value = clientData + "::" + authenticatorData + "::" + signature + "::" + rawId + "::" + userHandle;\n document.getElementById("loginButton_0").click();\n }).catch(function (err) {\n document.getElementById(\'webAuthnOutcome\').value = "ERROR" + "::" + err;\n document.getElementById("loginButton_0").click();\n });\n',
454
+ },
455
+ { name: 'messageType', value: '4' },
456
+ ],
457
+ },
458
+ {
459
+ type: callbackType.TextOutputCallback,
460
+ output: [
461
+ {
462
+ name: 'message',
463
+ value:
464
+ '/*\n * Copyright 2018 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n *\n */\n\n/*\n * Note:\n *\n * When a ConfirmationCallback is used (e.g. during recovery code use), the XUI does not render a loginButton. However\n * the webAuthn script needs to call loginButton.click() to execute the appropriate data reformatting prior to sending\n * the request into AM. Here we query whether the loginButton exists and add it to the DOM if it doesn\'t.\n */\n\nvar newLocation = document.getElementById("wrapper");\n\nvar script = "<div class=\\"form-group\\">\\n" +\n "<div class=\\"panel panel-default\\">\\n" +\n " <div class=\\"panel-body text-center\\">\\n" +\n " <h4 class=\\"awaiting-response\\"><i class=\\"fa fa-circle-o-notch fa-spin text-primary\\"></i> Waiting for local device... </h4>\\n" +\n " </div>\\n" +\n "</div>\\n";\n\nif (!document.getElementById("loginButton_0")) {\n script += "<input id=\\"loginButton_0\\" role=\\"button\\" type=\\"submit\\" hidden>";\n} else {\n document.getElementById("loginButton_0").style.visibility=\'hidden\';\n}\n\nscript += "</div>";\n\nnewLocation.getElementsByTagName("fieldset")[0].innerHTML += script;\ndocument.body.appendChild(newLocation);',
465
+ },
466
+ { name: 'messageType', value: '4' },
467
+ ],
468
+ },
469
+ {
470
+ type: callbackType.HiddenValueCallback,
471
+ output: [
472
+ { name: 'value', value: 'false' },
473
+ { name: 'id', value: 'webAuthnOutcome' },
474
+ ],
475
+ input: [{ name: 'IDToken3', value: 'webAuthnOutcome' }],
476
+ },
477
+ ],
478
+ };
@@ -0,0 +1,100 @@
1
+ /*
2
+ * @forgerock/ping-javascript-sdk
3
+ *
4
+ * fr-webauthn.test.ts
5
+ *
6
+ * Copyright (c) 2020 - 2025 Ping Identity Corporation. All rights reserved.
7
+ * This software may be modified and distributed under the terms
8
+ * of the MIT license. See the LICENSE file for details.
9
+ */
10
+
11
+ import { WebAuthnStepType } from './enums.js';
12
+ import { WebAuthn } from './webauthn.js';
13
+ import {
14
+ webAuthnRegJSCallback653,
15
+ webAuthnAuthJSCallback653,
16
+ webAuthnRegJSCallback70,
17
+ webAuthnAuthJSCallback70,
18
+ webAuthnRegMetaCallback70,
19
+ webAuthnAuthMetaCallback70,
20
+ webAuthnRegJSCallback70StoredUsername,
21
+ webAuthnAuthJSCallback70StoredUsername,
22
+ webAuthnRegMetaCallback70StoredUsername,
23
+ webAuthnAuthMetaCallback70StoredUsername,
24
+ } from './webauthn.mock.data.js';
25
+ import { createJourneyStep } from '../step.utils.js';
26
+
27
+ describe('Test FRWebAuthn class with 6.5.3 "Passwordless"', () => {
28
+ it('should return Registration type with register text-output callbacks', () => {
29
+ // eslint-disable-next-line
30
+ const step = createJourneyStep(webAuthnRegJSCallback653 as any);
31
+ const stepType = WebAuthn.getWebAuthnStepType(step);
32
+ expect(stepType).toBe(WebAuthnStepType.Registration);
33
+ });
34
+
35
+ it('should return Authentication type with authenticate text-output callbacks', () => {
36
+ // eslint-disable-next-line
37
+ const step = createJourneyStep(webAuthnAuthJSCallback653 as any);
38
+ const stepType = WebAuthn.getWebAuthnStepType(step);
39
+ expect(stepType).toBe(WebAuthnStepType.Authentication);
40
+ });
41
+ });
42
+
43
+ describe('Test FRWebAuthn class with 7.0 "Passwordless"', () => {
44
+ it('should return Registration type with register text-output callbacks', () => {
45
+ // eslint-disable-next-line
46
+ const step = createJourneyStep(webAuthnRegJSCallback70 as any);
47
+ const stepType = WebAuthn.getWebAuthnStepType(step);
48
+ expect(stepType).toBe(WebAuthnStepType.Registration);
49
+ });
50
+
51
+ it('should return Authentication type with authenticate text-output callbacks', () => {
52
+ // eslint-disable-next-line
53
+ const step = createJourneyStep(webAuthnAuthJSCallback70 as any);
54
+ const stepType = WebAuthn.getWebAuthnStepType(step);
55
+ console.log('the step type', stepType, WebAuthnStepType.Authentication);
56
+ expect(stepType).toBe(WebAuthnStepType.Authentication);
57
+ });
58
+
59
+ it('should return Registration type with register metadata callbacks', () => {
60
+ // eslint-disable-next-line
61
+ const step = createJourneyStep(webAuthnRegMetaCallback70 as any);
62
+ const stepType = WebAuthn.getWebAuthnStepType(step);
63
+ expect(stepType).toBe(WebAuthnStepType.Registration);
64
+ });
65
+
66
+ it('should return Authentication type with authenticate metadata callbacks', () => {
67
+ // eslint-disable-next-line
68
+ const step = createJourneyStep(webAuthnAuthMetaCallback70 as any);
69
+ const stepType = WebAuthn.getWebAuthnStepType(step);
70
+ expect(stepType).toBe(WebAuthnStepType.Authentication);
71
+ });
72
+ });
73
+
74
+ describe('Test FRWebAuthn class with 7.0 "Usernameless"', () => {
75
+ it('should return Registration type with register text-output callbacks', () => {
76
+ // eslint-disable-next-line
77
+ const step = createJourneyStep(webAuthnRegJSCallback70StoredUsername as any);
78
+ const stepType = WebAuthn.getWebAuthnStepType(step);
79
+ expect(stepType).toBe(WebAuthnStepType.Registration);
80
+ });
81
+
82
+ it('should return Authentication type with authenticate text-output callbacks', () => {
83
+ // eslint-disable-next-line
84
+ const step = createJourneyStep(webAuthnAuthJSCallback70StoredUsername as any);
85
+ const stepType = WebAuthn.getWebAuthnStepType(step);
86
+ expect(stepType).toBe(WebAuthnStepType.Authentication);
87
+ });
88
+ it('should return Registration type with register metadata callbacks', () => {
89
+ // eslint-disable-next-line
90
+ const step = createJourneyStep(webAuthnRegMetaCallback70StoredUsername as any);
91
+ const stepType = WebAuthn.getWebAuthnStepType(step);
92
+ expect(stepType).toBe(WebAuthnStepType.Registration);
93
+ });
94
+ it('should return Authentication type with authenticate metadata callbacks', () => {
95
+ // eslint-disable-next-line
96
+ const step = createJourneyStep(webAuthnAuthMetaCallback70StoredUsername as any);
97
+ const stepType = WebAuthn.getWebAuthnStepType(step);
98
+ expect(stepType).toBe(WebAuthnStepType.Authentication);
99
+ });
100
+ });