@aws-amplify/auth 6.7.1-unstable.ab33a03.0 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/cjs/client/apis/associateWebAuthnCredential.js +62 -0
  2. package/dist/cjs/client/apis/associateWebAuthnCredential.js.map +1 -0
  3. package/dist/cjs/client/apis/deleteWebAuthnCredential.js +22 -0
  4. package/dist/cjs/client/apis/deleteWebAuthnCredential.js.map +1 -0
  5. package/dist/cjs/client/apis/index.js +13 -0
  6. package/dist/cjs/client/apis/index.js.map +1 -0
  7. package/dist/cjs/client/apis/listWebAuthnCredentials.js +23 -0
  8. package/dist/cjs/client/apis/listWebAuthnCredentials.js.map +1 -0
  9. package/dist/cjs/client/flows/shared/handlePasswordSRP.js +79 -0
  10. package/dist/cjs/client/flows/shared/handlePasswordSRP.js.map +1 -0
  11. package/dist/cjs/client/flows/userAuth/handleSelectChallenge.js +46 -0
  12. package/dist/cjs/client/flows/userAuth/handleSelectChallenge.js.map +1 -0
  13. package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPassword.js +59 -0
  14. package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPassword.js.map +1 -0
  15. package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.js +74 -0
  16. package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.js.map +1 -0
  17. package/dist/cjs/client/flows/userAuth/handleUserAuthFlow.js +84 -0
  18. package/dist/cjs/client/flows/userAuth/handleUserAuthFlow.js.map +1 -0
  19. package/dist/cjs/client/flows/userAuth/handleWebAuthnSignInResult.js +88 -0
  20. package/dist/cjs/client/flows/userAuth/handleWebAuthnSignInResult.js.map +1 -0
  21. package/dist/cjs/client/utils/index.js +9 -0
  22. package/dist/cjs/client/utils/index.js.map +1 -0
  23. package/dist/cjs/client/utils/passkey/errors.js +180 -0
  24. package/dist/cjs/client/utils/passkey/errors.js.map +1 -0
  25. package/dist/cjs/client/utils/passkey/getIsPasskeySupported.js +20 -0
  26. package/dist/cjs/client/utils/passkey/getIsPasskeySupported.js.map +1 -0
  27. package/dist/cjs/client/utils/passkey/getIsPasskeySupported.native.js +12 -0
  28. package/dist/cjs/client/utils/passkey/getIsPasskeySupported.native.js.map +1 -0
  29. package/dist/cjs/client/utils/passkey/getPasskey.js +27 -0
  30. package/dist/cjs/client/utils/passkey/getPasskey.js.map +1 -0
  31. package/dist/cjs/client/utils/passkey/getPasskey.native.js +12 -0
  32. package/dist/cjs/client/utils/passkey/getPasskey.native.js.map +1 -0
  33. package/dist/cjs/client/utils/passkey/index.js +11 -0
  34. package/dist/cjs/client/utils/passkey/index.js.map +1 -0
  35. package/dist/cjs/client/utils/passkey/registerPasskey.js +32 -0
  36. package/dist/cjs/client/utils/passkey/registerPasskey.js.map +1 -0
  37. package/dist/cjs/client/utils/passkey/registerPasskey.native.js +12 -0
  38. package/dist/cjs/client/utils/passkey/registerPasskey.native.js.map +1 -0
  39. package/dist/cjs/client/utils/passkey/serde.js +106 -0
  40. package/dist/cjs/client/utils/passkey/serde.js.map +1 -0
  41. package/dist/cjs/client/utils/passkey/types/index.js +25 -0
  42. package/dist/cjs/client/utils/passkey/types/index.js.map +1 -0
  43. package/dist/cjs/client/utils/passkey/types/shared.js +18 -0
  44. package/dist/cjs/client/utils/passkey/types/shared.js.map +1 -0
  45. package/dist/cjs/client/utils/store/autoSignInStore.js +45 -0
  46. package/dist/cjs/client/utils/store/autoSignInStore.js.map +1 -0
  47. package/dist/cjs/client/utils/store/index.js +9 -0
  48. package/dist/cjs/client/utils/store/index.js.map +1 -0
  49. package/dist/cjs/client/utils/store/signInStore.js.map +1 -0
  50. package/dist/cjs/client/utils/store/types.js +6 -0
  51. package/dist/cjs/client/utils/store/types.js.map +1 -0
  52. package/dist/cjs/foundation/apis/deleteWebAuthnCredential.js +33 -0
  53. package/dist/cjs/foundation/apis/deleteWebAuthnCredential.js.map +1 -0
  54. package/dist/cjs/foundation/apis/index.js +11 -0
  55. package/dist/cjs/foundation/apis/index.js.map +1 -0
  56. package/dist/cjs/foundation/apis/listWebAuthnCredentials.js +46 -0
  57. package/dist/cjs/foundation/apis/listWebAuthnCredentials.js.map +1 -0
  58. package/dist/cjs/foundation/convert/base64url/convertArrayBufferToBase64Url.js +21 -0
  59. package/dist/cjs/foundation/convert/base64url/convertArrayBufferToBase64Url.js.map +1 -0
  60. package/dist/cjs/foundation/convert/base64url/convertBase64UrlToArrayBuffer.js +17 -0
  61. package/dist/cjs/foundation/convert/base64url/convertBase64UrlToArrayBuffer.js.map +1 -0
  62. package/dist/cjs/foundation/convert/base64url/index.js +11 -0
  63. package/dist/cjs/foundation/convert/base64url/index.js.map +1 -0
  64. package/dist/cjs/foundation/convert/index.js +10 -0
  65. package/dist/cjs/foundation/convert/index.js.map +1 -0
  66. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.js +16 -0
  67. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.js.map +1 -0
  68. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.js +16 -0
  69. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.js.map +1 -0
  70. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.js +16 -0
  71. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.js.map +1 -0
  72. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.js +33 -4
  73. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.js.map +1 -1
  74. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.js +16 -0
  75. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.js.map +1 -0
  76. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/index.js +9 -1
  77. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/index.js.map +1 -1
  78. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.js +44 -0
  79. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.js.map +1 -0
  80. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.js +3 -2
  81. package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.js.map +1 -1
  82. package/dist/cjs/foundation/types/index.js +6 -0
  83. package/dist/cjs/foundation/types/index.js.map +1 -0
  84. package/dist/cjs/foundation/types/inputs.js +6 -0
  85. package/dist/cjs/foundation/types/inputs.js.map +1 -0
  86. package/dist/cjs/foundation/types/models.js +6 -0
  87. package/dist/cjs/foundation/types/models.js.map +1 -0
  88. package/dist/cjs/foundation/types/outputs.js +6 -0
  89. package/dist/cjs/foundation/types/outputs.js.map +1 -0
  90. package/dist/cjs/index.js +6 -1
  91. package/dist/cjs/index.js.map +1 -1
  92. package/dist/cjs/providers/cognito/apis/autoSignIn.js +6 -2
  93. package/dist/cjs/providers/cognito/apis/autoSignIn.js.map +1 -1
  94. package/dist/cjs/providers/cognito/apis/confirmSignIn.js +4 -4
  95. package/dist/cjs/providers/cognito/apis/confirmSignIn.js.map +1 -1
  96. package/dist/cjs/providers/cognito/apis/confirmSignUp.js +8 -5
  97. package/dist/cjs/providers/cognito/apis/confirmSignUp.js.map +1 -1
  98. package/dist/cjs/providers/cognito/apis/signIn.js +9 -0
  99. package/dist/cjs/providers/cognito/apis/signIn.js.map +1 -1
  100. package/dist/cjs/providers/cognito/apis/signInWithCustomAuth.js +4 -4
  101. package/dist/cjs/providers/cognito/apis/signInWithCustomAuth.js.map +1 -1
  102. package/dist/cjs/providers/cognito/apis/signInWithCustomSRPAuth.js +4 -4
  103. package/dist/cjs/providers/cognito/apis/signInWithCustomSRPAuth.js.map +1 -1
  104. package/dist/cjs/providers/cognito/apis/signInWithSRP.js +7 -4
  105. package/dist/cjs/providers/cognito/apis/signInWithSRP.js.map +1 -1
  106. package/dist/cjs/providers/cognito/apis/signInWithUserAuth.js +102 -0
  107. package/dist/cjs/providers/cognito/apis/signInWithUserAuth.js.map +1 -0
  108. package/dist/cjs/providers/cognito/apis/signInWithUserPassword.js +7 -4
  109. package/dist/cjs/providers/cognito/apis/signInWithUserPassword.js.map +1 -1
  110. package/dist/cjs/providers/cognito/apis/signUp.js +56 -49
  111. package/dist/cjs/providers/cognito/apis/signUp.js.map +1 -1
  112. package/dist/cjs/providers/cognito/utils/signInHelpers.js +60 -42
  113. package/dist/cjs/providers/cognito/utils/signInHelpers.js.map +1 -1
  114. package/dist/cjs/providers/cognito/utils/signUpHelpers.js +5 -31
  115. package/dist/cjs/providers/cognito/utils/signUpHelpers.js.map +1 -1
  116. package/dist/esm/client/apis/associateWebAuthnCredential.d.ts +14 -0
  117. package/dist/esm/client/apis/associateWebAuthnCredential.mjs +69 -0
  118. package/dist/esm/client/apis/associateWebAuthnCredential.mjs.map +1 -0
  119. package/dist/esm/client/apis/deleteWebAuthnCredential.d.ts +11 -0
  120. package/dist/esm/client/apis/deleteWebAuthnCredential.mjs +29 -0
  121. package/dist/esm/client/apis/deleteWebAuthnCredential.mjs.map +1 -0
  122. package/dist/esm/client/apis/index.d.ts +3 -0
  123. package/dist/esm/client/apis/index.mjs +4 -0
  124. package/dist/esm/client/apis/index.mjs.map +1 -0
  125. package/dist/esm/client/apis/listWebAuthnCredentials.d.ts +12 -0
  126. package/dist/esm/client/apis/listWebAuthnCredentials.mjs +30 -0
  127. package/dist/esm/client/apis/listWebAuthnCredentials.mjs.map +1 -0
  128. package/dist/esm/client/flows/shared/handlePasswordSRP.d.ts +31 -0
  129. package/dist/esm/client/flows/shared/handlePasswordSRP.mjs +86 -0
  130. package/dist/esm/client/flows/shared/handlePasswordSRP.mjs.map +1 -0
  131. package/dist/esm/client/flows/userAuth/handleSelectChallenge.d.ts +23 -0
  132. package/dist/esm/client/flows/userAuth/handleSelectChallenge.mjs +51 -0
  133. package/dist/esm/client/flows/userAuth/handleSelectChallenge.mjs.map +1 -0
  134. package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPassword.d.ts +16 -0
  135. package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPassword.mjs +64 -0
  136. package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPassword.mjs.map +1 -0
  137. package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.d.ts +18 -0
  138. package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.mjs +81 -0
  139. package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.mjs.map +1 -0
  140. package/dist/esm/client/flows/userAuth/handleUserAuthFlow.d.ts +27 -0
  141. package/dist/esm/client/flows/userAuth/handleUserAuthFlow.mjs +88 -0
  142. package/dist/esm/client/flows/userAuth/handleUserAuthFlow.mjs.map +1 -0
  143. package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.d.ts +3 -0
  144. package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.mjs +93 -0
  145. package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.mjs.map +1 -0
  146. package/dist/esm/client/utils/index.d.ts +1 -0
  147. package/dist/esm/client/utils/index.mjs +4 -0
  148. package/dist/esm/client/utils/index.mjs.map +1 -0
  149. package/dist/esm/client/utils/passkey/errors.d.ts +33 -0
  150. package/dist/esm/client/utils/passkey/errors.mjs +176 -0
  151. package/dist/esm/client/utils/passkey/errors.mjs.map +1 -0
  152. package/dist/esm/client/utils/passkey/getIsPasskeySupported.d.ts +6 -0
  153. package/dist/esm/client/utils/passkey/getIsPasskeySupported.mjs +18 -0
  154. package/dist/esm/client/utils/passkey/getIsPasskeySupported.mjs.map +1 -0
  155. package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.d.ts +1 -0
  156. package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.mjs +10 -0
  157. package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.mjs.map +1 -0
  158. package/dist/esm/client/utils/passkey/getPasskey.d.ts +2 -0
  159. package/dist/esm/client/utils/passkey/getPasskey.mjs +25 -0
  160. package/dist/esm/client/utils/passkey/getPasskey.mjs.map +1 -0
  161. package/dist/esm/client/utils/passkey/getPasskey.native.d.ts +1 -0
  162. package/dist/esm/client/utils/passkey/getPasskey.native.mjs +10 -0
  163. package/dist/esm/client/utils/passkey/getPasskey.native.mjs.map +1 -0
  164. package/dist/esm/client/utils/passkey/index.d.ts +2 -0
  165. package/dist/esm/client/utils/passkey/index.mjs +3 -0
  166. package/dist/esm/client/utils/passkey/index.mjs.map +1 -0
  167. package/dist/esm/client/utils/passkey/registerPasskey.d.ts +7 -0
  168. package/dist/esm/client/utils/passkey/registerPasskey.mjs +30 -0
  169. package/dist/esm/client/utils/passkey/registerPasskey.mjs.map +1 -0
  170. package/dist/esm/client/utils/passkey/registerPasskey.native.d.ts +1 -0
  171. package/dist/esm/client/utils/passkey/registerPasskey.native.mjs +10 -0
  172. package/dist/esm/client/utils/passkey/registerPasskey.native.mjs.map +1 -0
  173. package/dist/esm/client/utils/passkey/serde.d.ts +25 -0
  174. package/dist/esm/client/utils/passkey/serde.mjs +102 -0
  175. package/dist/esm/client/utils/passkey/serde.mjs.map +1 -0
  176. package/dist/esm/client/utils/passkey/types/index.d.ts +16 -0
  177. package/dist/esm/client/utils/passkey/types/index.mjs +18 -0
  178. package/dist/esm/client/utils/passkey/types/index.mjs.map +1 -0
  179. package/dist/esm/client/utils/passkey/types/shared.d.ts +106 -0
  180. package/dist/esm/client/utils/passkey/types/shared.mjs +16 -0
  181. package/dist/esm/client/utils/passkey/types/shared.mjs.map +1 -0
  182. package/dist/esm/client/utils/store/autoSignInStore.d.ts +21 -0
  183. package/dist/esm/client/utils/store/autoSignInStore.mjs +43 -0
  184. package/dist/esm/client/utils/store/autoSignInStore.mjs.map +1 -0
  185. package/dist/esm/client/utils/store/index.d.ts +2 -0
  186. package/dist/esm/client/utils/store/index.mjs +3 -0
  187. package/dist/esm/client/utils/store/index.mjs.map +1 -0
  188. package/dist/esm/{providers/cognito/utils → client/utils/store}/signInStore.d.ts +1 -1
  189. package/dist/esm/client/utils/store/signInStore.mjs.map +1 -0
  190. package/dist/esm/client/utils/store/types.d.ts +5 -0
  191. package/dist/esm/client/utils/store/types.mjs +2 -0
  192. package/dist/esm/client/utils/store/types.mjs.map +1 -0
  193. package/dist/esm/foundation/apis/deleteWebAuthnCredential.d.ts +3 -0
  194. package/dist/esm/foundation/apis/deleteWebAuthnCredential.mjs +38 -0
  195. package/dist/esm/foundation/apis/deleteWebAuthnCredential.mjs.map +1 -0
  196. package/dist/esm/foundation/apis/index.d.ts +2 -0
  197. package/dist/esm/foundation/apis/index.mjs +3 -0
  198. package/dist/esm/foundation/apis/index.mjs.map +1 -0
  199. package/dist/esm/foundation/apis/listWebAuthnCredentials.d.ts +3 -0
  200. package/dist/esm/foundation/apis/listWebAuthnCredentials.mjs +51 -0
  201. package/dist/esm/foundation/apis/listWebAuthnCredentials.mjs.map +1 -0
  202. package/dist/esm/foundation/convert/base64url/convertArrayBufferToBase64Url.d.ts +6 -0
  203. package/dist/esm/foundation/convert/base64url/convertArrayBufferToBase64Url.mjs +19 -0
  204. package/dist/esm/foundation/convert/base64url/convertArrayBufferToBase64Url.mjs.map +1 -0
  205. package/dist/esm/foundation/convert/base64url/convertBase64UrlToArrayBuffer.d.ts +6 -0
  206. package/dist/esm/foundation/convert/base64url/convertBase64UrlToArrayBuffer.mjs +15 -0
  207. package/dist/esm/foundation/convert/base64url/convertBase64UrlToArrayBuffer.mjs.map +1 -0
  208. package/dist/esm/foundation/convert/base64url/index.d.ts +2 -0
  209. package/dist/esm/foundation/convert/base64url/index.mjs +3 -0
  210. package/dist/esm/foundation/convert/base64url/index.mjs.map +1 -0
  211. package/dist/esm/foundation/convert/index.d.ts +1 -0
  212. package/dist/esm/foundation/convert/index.mjs +3 -0
  213. package/dist/esm/foundation/convert/index.mjs.map +1 -0
  214. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.d.ts +13 -0
  215. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.mjs +17 -0
  216. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.mjs.map +1 -0
  217. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.d.ts +13 -0
  218. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.mjs +17 -0
  219. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.mjs.map +1 -0
  220. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.d.ts +13 -0
  221. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.mjs +17 -0
  222. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.mjs.map +1 -0
  223. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.d.ts +3 -1
  224. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.mjs +32 -7
  225. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.mjs.map +1 -1
  226. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.d.ts +13 -0
  227. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.mjs +17 -0
  228. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.mjs.map +1 -0
  229. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/index.d.ts +4 -0
  230. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/index.mjs +4 -0
  231. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/index.mjs.map +1 -1
  232. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolSerializer.d.ts +1 -1
  233. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.d.ts +37 -0
  234. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.mjs +46 -0
  235. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.mjs.map +1 -0
  236. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.d.ts +1 -0
  237. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.mjs +1 -1
  238. package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/sdk.d.ts +109 -5
  239. package/dist/esm/foundation/types/index.d.ts +3 -0
  240. package/dist/esm/foundation/types/index.mjs +2 -0
  241. package/dist/esm/foundation/types/index.mjs.map +1 -0
  242. package/dist/esm/foundation/types/inputs.d.ts +10 -0
  243. package/dist/esm/foundation/types/inputs.mjs +2 -0
  244. package/dist/esm/foundation/types/inputs.mjs.map +1 -0
  245. package/dist/esm/foundation/types/models.d.ts +11 -0
  246. package/dist/esm/foundation/types/models.mjs +2 -0
  247. package/dist/esm/foundation/types/models.mjs.map +1 -0
  248. package/dist/esm/foundation/types/outputs.d.ts +8 -0
  249. package/dist/esm/foundation/types/outputs.mjs +2 -0
  250. package/dist/esm/foundation/types/outputs.mjs.map +1 -0
  251. package/dist/esm/index.d.ts +3 -0
  252. package/dist/esm/index.mjs +3 -0
  253. package/dist/esm/index.mjs.map +1 -1
  254. package/dist/esm/providers/cognito/apis/autoSignIn.d.ts +1 -1
  255. package/dist/esm/providers/cognito/apis/autoSignIn.mjs +7 -2
  256. package/dist/esm/providers/cognito/apis/autoSignIn.mjs.map +1 -1
  257. package/dist/esm/providers/cognito/apis/confirmResetPassword.mjs +2 -0
  258. package/dist/esm/providers/cognito/apis/confirmResetPassword.mjs.map +1 -1
  259. package/dist/esm/providers/cognito/apis/confirmSignIn.mjs +2 -1
  260. package/dist/esm/providers/cognito/apis/confirmSignIn.mjs.map +1 -1
  261. package/dist/esm/providers/cognito/apis/confirmSignUp.mjs +11 -5
  262. package/dist/esm/providers/cognito/apis/confirmSignUp.mjs.map +1 -1
  263. package/dist/esm/providers/cognito/apis/confirmUserAttribute.mjs +2 -0
  264. package/dist/esm/providers/cognito/apis/confirmUserAttribute.mjs.map +1 -1
  265. package/dist/esm/providers/cognito/apis/deleteUser.mjs +3 -0
  266. package/dist/esm/providers/cognito/apis/deleteUser.mjs.map +1 -1
  267. package/dist/esm/providers/cognito/apis/deleteUserAttributes.mjs +3 -0
  268. package/dist/esm/providers/cognito/apis/deleteUserAttributes.mjs.map +1 -1
  269. package/dist/esm/providers/cognito/apis/fetchDevices.mjs +3 -0
  270. package/dist/esm/providers/cognito/apis/fetchDevices.mjs.map +1 -1
  271. package/dist/esm/providers/cognito/apis/fetchMFAPreference.mjs +3 -0
  272. package/dist/esm/providers/cognito/apis/fetchMFAPreference.mjs.map +1 -1
  273. package/dist/esm/providers/cognito/apis/forgetDevice.mjs +3 -0
  274. package/dist/esm/providers/cognito/apis/forgetDevice.mjs.map +1 -1
  275. package/dist/esm/providers/cognito/apis/internal/fetchUserAttributes.mjs +3 -0
  276. package/dist/esm/providers/cognito/apis/internal/fetchUserAttributes.mjs.map +1 -1
  277. package/dist/esm/providers/cognito/apis/rememberDevice.mjs +3 -0
  278. package/dist/esm/providers/cognito/apis/rememberDevice.mjs.map +1 -1
  279. package/dist/esm/providers/cognito/apis/resendSignUpCode.mjs +2 -0
  280. package/dist/esm/providers/cognito/apis/resendSignUpCode.mjs.map +1 -1
  281. package/dist/esm/providers/cognito/apis/resetPassword.mjs +2 -0
  282. package/dist/esm/providers/cognito/apis/resetPassword.mjs.map +1 -1
  283. package/dist/esm/providers/cognito/apis/sendUserAttributeVerificationCode.mjs +3 -0
  284. package/dist/esm/providers/cognito/apis/sendUserAttributeVerificationCode.mjs.map +1 -1
  285. package/dist/esm/providers/cognito/apis/setUpTOTP.mjs +2 -0
  286. package/dist/esm/providers/cognito/apis/setUpTOTP.mjs.map +1 -1
  287. package/dist/esm/providers/cognito/apis/signIn.mjs +9 -0
  288. package/dist/esm/providers/cognito/apis/signIn.mjs.map +1 -1
  289. package/dist/esm/providers/cognito/apis/signInWithCustomAuth.mjs +2 -1
  290. package/dist/esm/providers/cognito/apis/signInWithCustomAuth.mjs.map +1 -1
  291. package/dist/esm/providers/cognito/apis/signInWithCustomSRPAuth.mjs +2 -1
  292. package/dist/esm/providers/cognito/apis/signInWithCustomSRPAuth.mjs.map +1 -1
  293. package/dist/esm/providers/cognito/apis/signInWithSRP.mjs +5 -1
  294. package/dist/esm/providers/cognito/apis/signInWithSRP.mjs.map +1 -1
  295. package/dist/esm/providers/cognito/apis/signInWithUserAuth.d.ts +13 -0
  296. package/dist/esm/providers/cognito/apis/signInWithUserAuth.mjs +104 -0
  297. package/dist/esm/providers/cognito/apis/signInWithUserAuth.mjs.map +1 -0
  298. package/dist/esm/providers/cognito/apis/signInWithUserPassword.mjs +6 -2
  299. package/dist/esm/providers/cognito/apis/signInWithUserPassword.mjs.map +1 -1
  300. package/dist/esm/providers/cognito/apis/signOut.mjs +2 -0
  301. package/dist/esm/providers/cognito/apis/signOut.mjs.map +1 -1
  302. package/dist/esm/providers/cognito/apis/signUp.mjs +58 -50
  303. package/dist/esm/providers/cognito/apis/signUp.mjs.map +1 -1
  304. package/dist/esm/providers/cognito/apis/updateMFAPreference.mjs +3 -0
  305. package/dist/esm/providers/cognito/apis/updateMFAPreference.mjs.map +1 -1
  306. package/dist/esm/providers/cognito/apis/updatePassword.mjs +2 -0
  307. package/dist/esm/providers/cognito/apis/updatePassword.mjs.map +1 -1
  308. package/dist/esm/providers/cognito/apis/updateUserAttributes.mjs +3 -0
  309. package/dist/esm/providers/cognito/apis/updateUserAttributes.mjs.map +1 -1
  310. package/dist/esm/providers/cognito/apis/verifyTOTPSetup.mjs +2 -0
  311. package/dist/esm/providers/cognito/apis/verifyTOTPSetup.mjs.map +1 -1
  312. package/dist/esm/providers/cognito/types/index.d.ts +2 -2
  313. package/dist/esm/providers/cognito/types/inputs.d.ts +4 -0
  314. package/dist/esm/providers/cognito/types/models.d.ts +7 -1
  315. package/dist/esm/providers/cognito/types/options.d.ts +2 -1
  316. package/dist/esm/providers/cognito/types/outputs.d.ts +4 -0
  317. package/dist/esm/providers/cognito/utils/refreshAuthTokens.mjs +3 -0
  318. package/dist/esm/providers/cognito/utils/refreshAuthTokens.mjs.map +1 -1
  319. package/dist/esm/providers/cognito/utils/signInHelpers.d.ts +2 -1
  320. package/dist/esm/providers/cognito/utils/signInHelpers.mjs +56 -37
  321. package/dist/esm/providers/cognito/utils/signInHelpers.mjs.map +1 -1
  322. package/dist/esm/providers/cognito/utils/signUpHelpers.d.ts +0 -6
  323. package/dist/esm/providers/cognito/utils/signUpHelpers.mjs +5 -26
  324. package/dist/esm/providers/cognito/utils/signUpHelpers.mjs.map +1 -1
  325. package/dist/esm/types/inputs.d.ts +2 -2
  326. package/dist/esm/types/models.d.ts +9 -1
  327. package/package.json +104 -104
  328. package/src/client/apis/associateWebAuthnCredential.ts +94 -0
  329. package/src/client/apis/deleteWebAuthnCredential.ts +24 -0
  330. package/src/client/apis/index.ts +6 -0
  331. package/src/client/apis/listWebAuthnCredentials.ts +28 -0
  332. package/src/client/flows/shared/handlePasswordSRP.ts +123 -0
  333. package/src/client/flows/userAuth/handleSelectChallenge.ts +62 -0
  334. package/src/client/flows/userAuth/handleSelectChallengeWithPassword.ts +74 -0
  335. package/src/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.ts +105 -0
  336. package/src/client/flows/userAuth/handleUserAuthFlow.ts +125 -0
  337. package/src/client/flows/userAuth/handleWebAuthnSignInResult.ts +130 -0
  338. package/src/client/utils/index.ts +4 -0
  339. package/src/client/utils/passkey/errors.ts +214 -0
  340. package/src/client/utils/passkey/getIsPasskeySupported.native.ts +8 -0
  341. package/src/client/utils/passkey/getIsPasskeySupported.ts +18 -0
  342. package/src/client/utils/passkey/getPasskey.native.ts +8 -0
  343. package/src/client/utils/passkey/getPasskey.ts +40 -0
  344. package/src/client/utils/passkey/index.ts +5 -0
  345. package/src/client/utils/passkey/registerPasskey.native.ts +8 -0
  346. package/src/client/utils/passkey/registerPasskey.ts +48 -0
  347. package/src/client/utils/passkey/serde.ts +151 -0
  348. package/src/client/utils/passkey/types/index.ts +61 -0
  349. package/src/client/utils/passkey/types/shared.ts +131 -0
  350. package/src/client/utils/store/autoSignInStore.ts +64 -0
  351. package/src/client/utils/store/index.ts +5 -0
  352. package/src/{providers/cognito/utils → client/utils/store}/signInStore.ts +3 -8
  353. package/src/client/utils/store/types.ts +9 -0
  354. package/src/foundation/apis/deleteWebAuthnCredential.ts +45 -0
  355. package/src/foundation/apis/index.ts +5 -0
  356. package/src/foundation/apis/listWebAuthnCredentials.ts +68 -0
  357. package/src/foundation/convert/base64url/convertArrayBufferToBase64Url.ts +18 -0
  358. package/src/foundation/convert/base64url/convertBase64UrlToArrayBuffer.ts +18 -0
  359. package/src/foundation/convert/base64url/index.ts +5 -0
  360. package/src/foundation/convert/index.ts +7 -0
  361. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.ts +31 -0
  362. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.ts +31 -0
  363. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.ts +31 -0
  364. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.ts +44 -7
  365. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.ts +31 -0
  366. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/index.ts +4 -0
  367. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolSerializer.ts +5 -1
  368. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.ts +43 -0
  369. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.ts +2 -0
  370. package/src/foundation/factories/serviceClients/cognitoIdentityProvider/types/sdk.ts +141 -5
  371. package/src/foundation/types/index.ts +9 -0
  372. package/src/foundation/types/inputs.ts +14 -0
  373. package/src/foundation/types/models.ts +14 -0
  374. package/src/foundation/types/outputs.ts +12 -0
  375. package/src/index.ts +14 -0
  376. package/src/providers/cognito/apis/autoSignIn.ts +6 -2
  377. package/src/providers/cognito/apis/confirmSignIn.ts +1 -1
  378. package/src/providers/cognito/apis/confirmSignUp.ts +10 -9
  379. package/src/providers/cognito/apis/signIn.ts +10 -0
  380. package/src/providers/cognito/apis/signInWithCustomAuth.ts +1 -1
  381. package/src/providers/cognito/apis/signInWithCustomSRPAuth.ts +1 -1
  382. package/src/providers/cognito/apis/signInWithSRP.ts +6 -1
  383. package/src/providers/cognito/apis/signInWithUserAuth.ts +141 -0
  384. package/src/providers/cognito/apis/signInWithUserPassword.ts +7 -2
  385. package/src/providers/cognito/apis/signUp.ts +81 -72
  386. package/src/providers/cognito/types/index.ts +2 -0
  387. package/src/providers/cognito/types/inputs.ts +5 -0
  388. package/src/providers/cognito/types/models.ts +13 -0
  389. package/src/providers/cognito/types/options.ts +7 -1
  390. package/src/providers/cognito/types/outputs.ts +5 -0
  391. package/src/providers/cognito/utils/signInHelpers.ts +77 -55
  392. package/src/providers/cognito/utils/signUpHelpers.ts +6 -31
  393. package/src/types/inputs.ts +2 -2
  394. package/src/types/models.ts +13 -0
  395. package/dist/cjs/providers/cognito/utils/signInStore.js.map +0 -1
  396. package/dist/esm/providers/cognito/utils/signInStore.mjs.map +0 -1
  397. /package/dist/cjs/{providers/cognito/utils → client/utils/store}/signInStore.js +0 -0
  398. /package/dist/esm/{providers/cognito/utils → client/utils/store}/signInStore.mjs +0 -0
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleWebAuthnSignInResult = void 0;
7
+ const core_1 = require("@aws-amplify/core");
8
+ const utils_1 = require("@aws-amplify/core/internals/utils");
9
+ const AuthErrorStrings_1 = require("../../../common/AuthErrorStrings");
10
+ const cognitoIdentityProvider_1 = require("../../../foundation/factories/serviceClients/cognitoIdentityProvider");
11
+ const parsers_1 = require("../../../foundation/parsers");
12
+ const factories_1 = require("../../../providers/cognito/factories");
13
+ const cacheTokens_1 = require("../../../providers/cognito/tokenProvider/cacheTokens");
14
+ const dispatchSignedInHubEvent_1 = require("../../../providers/cognito/utils/dispatchSignedInHubEvent");
15
+ const signInHelpers_1 = require("../../../providers/cognito/utils/signInHelpers");
16
+ const store_1 = require("../../../client/utils/store");
17
+ const utils_2 = require("../../../utils");
18
+ const passkey_1 = require("../../utils/passkey");
19
+ const errors_1 = require("../../utils/passkey/errors");
20
+ const AuthError_1 = require("../../../errors/AuthError");
21
+ async function handleWebAuthnSignInResult(challengeParameters) {
22
+ const authConfig = core_1.Amplify.getConfig().Auth?.Cognito;
23
+ (0, utils_1.assertTokenProviderConfig)(authConfig);
24
+ const { username, signInSession, signInDetails, challengeName } = store_1.signInStore.getState();
25
+ if (challengeName !== 'WEB_AUTHN' || !username) {
26
+ throw new AuthError_1.AuthError({
27
+ name: AuthErrorStrings_1.AuthErrorCodes.SignInException,
28
+ message: 'Unable to proceed due to invalid sign in state.',
29
+ });
30
+ }
31
+ const { CREDENTIAL_REQUEST_OPTIONS: credentialRequestOptions } = challengeParameters;
32
+ (0, errors_1.assertPasskeyError)(!!credentialRequestOptions, errors_1.PasskeyErrorCode.InvalidPasskeyAuthenticationOptions);
33
+ const cred = await (0, passkey_1.getPasskey)(JSON.parse(credentialRequestOptions));
34
+ const respondToAuthChallenge = (0, cognitoIdentityProvider_1.createRespondToAuthChallengeClient)({
35
+ endpointResolver: (0, factories_1.createCognitoUserPoolEndpointResolver)({
36
+ endpointOverride: authConfig.userPoolEndpoint,
37
+ }),
38
+ });
39
+ const { ChallengeName: nextChallengeName, ChallengeParameters: nextChallengeParameters, AuthenticationResult: authenticationResult, Session: nextSession, } = await respondToAuthChallenge({
40
+ region: (0, parsers_1.getRegionFromUserPoolId)(authConfig.userPoolId),
41
+ userAgentValue: (0, utils_2.getAuthUserAgentValue)(utils_1.AuthAction.ConfirmSignIn),
42
+ }, {
43
+ ChallengeName: 'WEB_AUTHN',
44
+ ChallengeResponses: {
45
+ USERNAME: username,
46
+ CREDENTIAL: JSON.stringify(cred),
47
+ },
48
+ ClientId: authConfig.userPoolClientId,
49
+ Session: signInSession,
50
+ });
51
+ (0, store_1.setActiveSignInState)({
52
+ signInSession: nextSession,
53
+ username,
54
+ challengeName: nextChallengeName,
55
+ signInDetails,
56
+ });
57
+ if (authenticationResult) {
58
+ await (0, cacheTokens_1.cacheCognitoTokens)({
59
+ ...authenticationResult,
60
+ username,
61
+ NewDeviceMetadata: await (0, signInHelpers_1.getNewDeviceMetadata)({
62
+ userPoolId: authConfig.userPoolId,
63
+ userPoolEndpoint: authConfig.userPoolEndpoint,
64
+ newDeviceMetadata: authenticationResult.NewDeviceMetadata,
65
+ accessToken: authenticationResult.AccessToken,
66
+ }),
67
+ signInDetails,
68
+ });
69
+ (0, store_1.cleanActiveSignInState)();
70
+ await (0, dispatchSignedInHubEvent_1.dispatchSignedInHubEvent)();
71
+ return {
72
+ isSignedIn: true,
73
+ nextStep: { signInStep: 'DONE' },
74
+ };
75
+ }
76
+ if (nextChallengeName === 'WEB_AUTHN') {
77
+ throw new AuthError_1.AuthError({
78
+ name: AuthErrorStrings_1.AuthErrorCodes.SignInException,
79
+ message: 'Sequential WEB_AUTHN challenges returned from underlying service cannot be handled.',
80
+ });
81
+ }
82
+ return (0, signInHelpers_1.getSignInResult)({
83
+ challengeName: nextChallengeName,
84
+ challengeParameters: nextChallengeParameters,
85
+ });
86
+ }
87
+ exports.handleWebAuthnSignInResult = handleWebAuthnSignInResult;
88
+ //# sourceMappingURL=handleWebAuthnSignInResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleWebAuthnSignInResult.js","sources":["../../../../../src/client/flows/userAuth/handleWebAuthnSignInResult.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.handleWebAuthnSignInResult = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst AuthErrorStrings_1 = require(\"../../../common/AuthErrorStrings\");\nconst cognitoIdentityProvider_1 = require(\"../../../foundation/factories/serviceClients/cognitoIdentityProvider\");\nconst parsers_1 = require(\"../../../foundation/parsers\");\nconst factories_1 = require(\"../../../providers/cognito/factories\");\nconst cacheTokens_1 = require(\"../../../providers/cognito/tokenProvider/cacheTokens\");\nconst dispatchSignedInHubEvent_1 = require(\"../../../providers/cognito/utils/dispatchSignedInHubEvent\");\nconst signInHelpers_1 = require(\"../../../providers/cognito/utils/signInHelpers\");\nconst store_1 = require(\"../../../client/utils/store\");\nconst utils_2 = require(\"../../../utils\");\nconst passkey_1 = require(\"../../utils/passkey\");\nconst errors_1 = require(\"../../utils/passkey/errors\");\nconst AuthError_1 = require(\"../../../errors/AuthError\");\nasync function handleWebAuthnSignInResult(challengeParameters) {\n const authConfig = core_1.Amplify.getConfig().Auth?.Cognito;\n (0, utils_1.assertTokenProviderConfig)(authConfig);\n const { username, signInSession, signInDetails, challengeName } = store_1.signInStore.getState();\n if (challengeName !== 'WEB_AUTHN' || !username) {\n throw new AuthError_1.AuthError({\n name: AuthErrorStrings_1.AuthErrorCodes.SignInException,\n message: 'Unable to proceed due to invalid sign in state.',\n });\n }\n const { CREDENTIAL_REQUEST_OPTIONS: credentialRequestOptions } = challengeParameters;\n (0, errors_1.assertPasskeyError)(!!credentialRequestOptions, errors_1.PasskeyErrorCode.InvalidPasskeyAuthenticationOptions);\n const cred = await (0, passkey_1.getPasskey)(JSON.parse(credentialRequestOptions));\n const respondToAuthChallenge = (0, cognitoIdentityProvider_1.createRespondToAuthChallengeClient)({\n endpointResolver: (0, factories_1.createCognitoUserPoolEndpointResolver)({\n endpointOverride: authConfig.userPoolEndpoint,\n }),\n });\n const { ChallengeName: nextChallengeName, ChallengeParameters: nextChallengeParameters, AuthenticationResult: authenticationResult, Session: nextSession, } = await respondToAuthChallenge({\n region: (0, parsers_1.getRegionFromUserPoolId)(authConfig.userPoolId),\n userAgentValue: (0, utils_2.getAuthUserAgentValue)(utils_1.AuthAction.ConfirmSignIn),\n }, {\n ChallengeName: 'WEB_AUTHN',\n ChallengeResponses: {\n USERNAME: username,\n CREDENTIAL: JSON.stringify(cred),\n },\n ClientId: authConfig.userPoolClientId,\n Session: signInSession,\n });\n (0, store_1.setActiveSignInState)({\n signInSession: nextSession,\n username,\n challengeName: nextChallengeName,\n signInDetails,\n });\n if (authenticationResult) {\n await (0, cacheTokens_1.cacheCognitoTokens)({\n ...authenticationResult,\n username,\n NewDeviceMetadata: await (0, signInHelpers_1.getNewDeviceMetadata)({\n userPoolId: authConfig.userPoolId,\n userPoolEndpoint: authConfig.userPoolEndpoint,\n newDeviceMetadata: authenticationResult.NewDeviceMetadata,\n accessToken: authenticationResult.AccessToken,\n }),\n signInDetails,\n });\n (0, store_1.cleanActiveSignInState)();\n await (0, dispatchSignedInHubEvent_1.dispatchSignedInHubEvent)();\n return {\n isSignedIn: true,\n nextStep: { signInStep: 'DONE' },\n };\n }\n if (nextChallengeName === 'WEB_AUTHN') {\n throw new AuthError_1.AuthError({\n name: AuthErrorStrings_1.AuthErrorCodes.SignInException,\n message: 'Sequential WEB_AUTHN challenges returned from underlying service cannot be handled.',\n });\n }\n return (0, signInHelpers_1.getSignInResult)({\n challengeName: nextChallengeName,\n challengeParameters: nextChallengeParameters,\n });\n}\nexports.handleWebAuthnSignInResult = handleWebAuthnSignInResult;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerPasskey = void 0;
7
+ var passkey_1 = require("./passkey");
8
+ Object.defineProperty(exports, "registerPasskey", { enumerable: true, get: function () { return passkey_1.registerPasskey; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/client/utils/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerPasskey = void 0;\nvar passkey_1 = require(\"./passkey\");\nObject.defineProperty(exports, \"registerPasskey\", { enumerable: true, get: function () { return passkey_1.registerPasskey; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AACjC,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACrC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;;"}
@@ -0,0 +1,180 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handlePasskeyRegistrationError = exports.handlePasskeyAuthenticationError = exports.assertPasskeyError = exports.PasskeyErrorCode = exports.PasskeyError = void 0;
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ class PasskeyError extends utils_1.AmplifyError {
9
+ constructor(params) {
10
+ super(params);
11
+ // Hack for making the custom error class work when transpiled to es5
12
+ // TODO: Delete the following 2 lines after we change the build target to >= es2015
13
+ this.constructor = PasskeyError;
14
+ Object.setPrototypeOf(this, PasskeyError.prototype);
15
+ }
16
+ }
17
+ exports.PasskeyError = PasskeyError;
18
+ var PasskeyErrorCode;
19
+ (function (PasskeyErrorCode) {
20
+ // not supported
21
+ PasskeyErrorCode["PasskeyNotSupported"] = "PasskeyNotSupported";
22
+ // duplicate passkey
23
+ PasskeyErrorCode["PasskeyAlreadyExists"] = "PasskeyAlreadyExists";
24
+ // misconfigurations
25
+ PasskeyErrorCode["InvalidPasskeyRegistrationOptions"] = "InvalidPasskeyRegistrationOptions";
26
+ PasskeyErrorCode["InvalidPasskeyAuthenticationOptions"] = "InvalidPasskeyAuthenticationOptions";
27
+ PasskeyErrorCode["RelyingPartyMismatch"] = "RelyingPartyMismatch";
28
+ // failed credential creation / retrieval
29
+ PasskeyErrorCode["PasskeyRegistrationFailed"] = "PasskeyRegistrationFailed";
30
+ PasskeyErrorCode["PasskeyRetrievalFailed"] = "PasskeyRetrievalFailed";
31
+ // cancel / aborts
32
+ PasskeyErrorCode["PasskeyRegistrationCanceled"] = "PasskeyRegistrationCanceled";
33
+ PasskeyErrorCode["PasskeyAuthenticationCanceled"] = "PasskeyAuthenticationCanceled";
34
+ PasskeyErrorCode["PasskeyOperationAborted"] = "PasskeyOperationAborted";
35
+ })(PasskeyErrorCode = exports.PasskeyErrorCode || (exports.PasskeyErrorCode = {}));
36
+ const notSupportedRecoverySuggestion = 'Passkeys may not be supported on this device. Ensure your application is running in a secure context (HTTPS) and Web Authentication API is supported.';
37
+ const abortOrCancelRecoverySuggestion = 'User may have canceled the ceremony or another interruption has occurred. Check underlying error for details.';
38
+ const misconfigurationRecoverySuggestion = 'Ensure your user pool is configured to support the WEB_AUTHN as an authentication factor.';
39
+ const passkeyErrorMap = {
40
+ [PasskeyErrorCode.PasskeyNotSupported]: {
41
+ message: 'Passkeys may not be supported on this device.',
42
+ recoverySuggestion: notSupportedRecoverySuggestion,
43
+ },
44
+ [PasskeyErrorCode.InvalidPasskeyRegistrationOptions]: {
45
+ message: 'Invalid passkey registration options.',
46
+ recoverySuggestion: misconfigurationRecoverySuggestion,
47
+ },
48
+ [PasskeyErrorCode.InvalidPasskeyAuthenticationOptions]: {
49
+ message: 'Invalid passkey authentication options.',
50
+ recoverySuggestion: misconfigurationRecoverySuggestion,
51
+ },
52
+ [PasskeyErrorCode.PasskeyRegistrationFailed]: {
53
+ message: 'Device failed to create passkey.',
54
+ recoverySuggestion: notSupportedRecoverySuggestion,
55
+ },
56
+ [PasskeyErrorCode.PasskeyRetrievalFailed]: {
57
+ message: 'Device failed to retrieve passkey.',
58
+ recoverySuggestion: 'Passkeys may not be available on this device. Try an alternative authentication factor like PASSWORD, EMAIL_OTP, or SMS_OTP.',
59
+ },
60
+ [PasskeyErrorCode.PasskeyAlreadyExists]: {
61
+ message: 'Passkey already exists in authenticator.',
62
+ recoverySuggestion: 'Proceed with existing passkey or try again after deleting the credential.',
63
+ },
64
+ [PasskeyErrorCode.PasskeyRegistrationCanceled]: {
65
+ message: 'Passkey registration ceremony has been canceled.',
66
+ recoverySuggestion: abortOrCancelRecoverySuggestion,
67
+ },
68
+ [PasskeyErrorCode.PasskeyAuthenticationCanceled]: {
69
+ message: 'Passkey authentication ceremony has been canceled.',
70
+ recoverySuggestion: abortOrCancelRecoverySuggestion,
71
+ },
72
+ [PasskeyErrorCode.PasskeyOperationAborted]: {
73
+ message: 'Passkey operation has been aborted.',
74
+ recoverySuggestion: abortOrCancelRecoverySuggestion,
75
+ },
76
+ [PasskeyErrorCode.RelyingPartyMismatch]: {
77
+ message: 'Relying party does not match current domain.',
78
+ recoverySuggestion: 'Ensure relying party identifier matches current domain.',
79
+ },
80
+ };
81
+ exports.assertPasskeyError = (0, utils_1.createAssertionFunction)(passkeyErrorMap, PasskeyError);
82
+ /**
83
+ * Handle Passkey Authentication Errors
84
+ * https://w3c.github.io/webauthn/#sctn-get-request-exceptions
85
+ *
86
+ * @param err unknown
87
+ * @returns PasskeyError
88
+ */
89
+ const handlePasskeyAuthenticationError = (err) => {
90
+ if (err instanceof PasskeyError) {
91
+ return err;
92
+ }
93
+ if (err instanceof Error) {
94
+ if (err.name === 'NotAllowedError') {
95
+ const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyAuthenticationCanceled];
96
+ return new PasskeyError({
97
+ name: PasskeyErrorCode.PasskeyAuthenticationCanceled,
98
+ message,
99
+ recoverySuggestion,
100
+ underlyingError: err,
101
+ });
102
+ }
103
+ }
104
+ return handlePasskeyError(err);
105
+ };
106
+ exports.handlePasskeyAuthenticationError = handlePasskeyAuthenticationError;
107
+ /**
108
+ * Handle Passkey Registration Errors
109
+ * https://w3c.github.io/webauthn/#sctn-create-request-exceptions
110
+ *
111
+ * @param err unknown
112
+ * @returns PasskeyError
113
+ */
114
+ const handlePasskeyRegistrationError = (err) => {
115
+ if (err instanceof PasskeyError) {
116
+ return err;
117
+ }
118
+ if (err instanceof Error) {
119
+ // Duplicate Passkey
120
+ if (err.name === 'InvalidStateError') {
121
+ const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyAlreadyExists];
122
+ return new PasskeyError({
123
+ name: PasskeyErrorCode.PasskeyAlreadyExists,
124
+ message,
125
+ recoverySuggestion,
126
+ underlyingError: err,
127
+ });
128
+ }
129
+ // User Cancels Ceremony / Generic Catch All
130
+ if (err.name === 'NotAllowedError') {
131
+ const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyRegistrationCanceled];
132
+ return new PasskeyError({
133
+ name: PasskeyErrorCode.PasskeyRegistrationCanceled,
134
+ message,
135
+ recoverySuggestion,
136
+ underlyingError: err,
137
+ });
138
+ }
139
+ }
140
+ return handlePasskeyError(err);
141
+ };
142
+ exports.handlePasskeyRegistrationError = handlePasskeyRegistrationError;
143
+ /**
144
+ * Handles Overlapping Passkey Errors Between Registration & Authentication
145
+ * https://w3c.github.io/webauthn/#sctn-create-request-exceptions
146
+ * https://w3c.github.io/webauthn/#sctn-get-request-exceptions
147
+ *
148
+ * @param err unknown
149
+ * @returns PasskeyError
150
+ */
151
+ const handlePasskeyError = (err) => {
152
+ if (err instanceof Error) {
153
+ // Passkey Operation Aborted
154
+ if (err.name === 'AbortError') {
155
+ const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyOperationAborted];
156
+ return new PasskeyError({
157
+ name: PasskeyErrorCode.PasskeyOperationAborted,
158
+ message,
159
+ recoverySuggestion,
160
+ underlyingError: err,
161
+ });
162
+ }
163
+ // Relying Party / Domain Mismatch
164
+ if (err.name === 'SecurityError') {
165
+ const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.RelyingPartyMismatch];
166
+ return new PasskeyError({
167
+ name: PasskeyErrorCode.RelyingPartyMismatch,
168
+ message,
169
+ recoverySuggestion,
170
+ underlyingError: err,
171
+ });
172
+ }
173
+ }
174
+ return new PasskeyError({
175
+ name: utils_1.AmplifyErrorCode.Unknown,
176
+ message: 'An unknown error has occurred.',
177
+ underlyingError: err,
178
+ });
179
+ };
180
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sources":["../../../../../src/client/utils/passkey/errors.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.handlePasskeyRegistrationError = exports.handlePasskeyAuthenticationError = exports.assertPasskeyError = exports.PasskeyErrorCode = exports.PasskeyError = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nclass PasskeyError extends utils_1.AmplifyError {\n constructor(params) {\n super(params);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = PasskeyError;\n Object.setPrototypeOf(this, PasskeyError.prototype);\n }\n}\nexports.PasskeyError = PasskeyError;\nvar PasskeyErrorCode;\n(function (PasskeyErrorCode) {\n // not supported\n PasskeyErrorCode[\"PasskeyNotSupported\"] = \"PasskeyNotSupported\";\n // duplicate passkey\n PasskeyErrorCode[\"PasskeyAlreadyExists\"] = \"PasskeyAlreadyExists\";\n // misconfigurations\n PasskeyErrorCode[\"InvalidPasskeyRegistrationOptions\"] = \"InvalidPasskeyRegistrationOptions\";\n PasskeyErrorCode[\"InvalidPasskeyAuthenticationOptions\"] = \"InvalidPasskeyAuthenticationOptions\";\n PasskeyErrorCode[\"RelyingPartyMismatch\"] = \"RelyingPartyMismatch\";\n // failed credential creation / retrieval\n PasskeyErrorCode[\"PasskeyRegistrationFailed\"] = \"PasskeyRegistrationFailed\";\n PasskeyErrorCode[\"PasskeyRetrievalFailed\"] = \"PasskeyRetrievalFailed\";\n // cancel / aborts\n PasskeyErrorCode[\"PasskeyRegistrationCanceled\"] = \"PasskeyRegistrationCanceled\";\n PasskeyErrorCode[\"PasskeyAuthenticationCanceled\"] = \"PasskeyAuthenticationCanceled\";\n PasskeyErrorCode[\"PasskeyOperationAborted\"] = \"PasskeyOperationAborted\";\n})(PasskeyErrorCode = exports.PasskeyErrorCode || (exports.PasskeyErrorCode = {}));\nconst notSupportedRecoverySuggestion = 'Passkeys may not be supported on this device. Ensure your application is running in a secure context (HTTPS) and Web Authentication API is supported.';\nconst abortOrCancelRecoverySuggestion = 'User may have canceled the ceremony or another interruption has occurred. Check underlying error for details.';\nconst misconfigurationRecoverySuggestion = 'Ensure your user pool is configured to support the WEB_AUTHN as an authentication factor.';\nconst passkeyErrorMap = {\n [PasskeyErrorCode.PasskeyNotSupported]: {\n message: 'Passkeys may not be supported on this device.',\n recoverySuggestion: notSupportedRecoverySuggestion,\n },\n [PasskeyErrorCode.InvalidPasskeyRegistrationOptions]: {\n message: 'Invalid passkey registration options.',\n recoverySuggestion: misconfigurationRecoverySuggestion,\n },\n [PasskeyErrorCode.InvalidPasskeyAuthenticationOptions]: {\n message: 'Invalid passkey authentication options.',\n recoverySuggestion: misconfigurationRecoverySuggestion,\n },\n [PasskeyErrorCode.PasskeyRegistrationFailed]: {\n message: 'Device failed to create passkey.',\n recoverySuggestion: notSupportedRecoverySuggestion,\n },\n [PasskeyErrorCode.PasskeyRetrievalFailed]: {\n message: 'Device failed to retrieve passkey.',\n recoverySuggestion: 'Passkeys may not be available on this device. Try an alternative authentication factor like PASSWORD, EMAIL_OTP, or SMS_OTP.',\n },\n [PasskeyErrorCode.PasskeyAlreadyExists]: {\n message: 'Passkey already exists in authenticator.',\n recoverySuggestion: 'Proceed with existing passkey or try again after deleting the credential.',\n },\n [PasskeyErrorCode.PasskeyRegistrationCanceled]: {\n message: 'Passkey registration ceremony has been canceled.',\n recoverySuggestion: abortOrCancelRecoverySuggestion,\n },\n [PasskeyErrorCode.PasskeyAuthenticationCanceled]: {\n message: 'Passkey authentication ceremony has been canceled.',\n recoverySuggestion: abortOrCancelRecoverySuggestion,\n },\n [PasskeyErrorCode.PasskeyOperationAborted]: {\n message: 'Passkey operation has been aborted.',\n recoverySuggestion: abortOrCancelRecoverySuggestion,\n },\n [PasskeyErrorCode.RelyingPartyMismatch]: {\n message: 'Relying party does not match current domain.',\n recoverySuggestion: 'Ensure relying party identifier matches current domain.',\n },\n};\nexports.assertPasskeyError = (0, utils_1.createAssertionFunction)(passkeyErrorMap, PasskeyError);\n/**\n * Handle Passkey Authentication Errors\n * https://w3c.github.io/webauthn/#sctn-get-request-exceptions\n *\n * @param err unknown\n * @returns PasskeyError\n */\nconst handlePasskeyAuthenticationError = (err) => {\n if (err instanceof PasskeyError) {\n return err;\n }\n if (err instanceof Error) {\n if (err.name === 'NotAllowedError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyAuthenticationCanceled];\n return new PasskeyError({\n name: PasskeyErrorCode.PasskeyAuthenticationCanceled,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n }\n return handlePasskeyError(err);\n};\nexports.handlePasskeyAuthenticationError = handlePasskeyAuthenticationError;\n/**\n * Handle Passkey Registration Errors\n * https://w3c.github.io/webauthn/#sctn-create-request-exceptions\n *\n * @param err unknown\n * @returns PasskeyError\n */\nconst handlePasskeyRegistrationError = (err) => {\n if (err instanceof PasskeyError) {\n return err;\n }\n if (err instanceof Error) {\n // Duplicate Passkey\n if (err.name === 'InvalidStateError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyAlreadyExists];\n return new PasskeyError({\n name: PasskeyErrorCode.PasskeyAlreadyExists,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n // User Cancels Ceremony / Generic Catch All\n if (err.name === 'NotAllowedError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyRegistrationCanceled];\n return new PasskeyError({\n name: PasskeyErrorCode.PasskeyRegistrationCanceled,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n }\n return handlePasskeyError(err);\n};\nexports.handlePasskeyRegistrationError = handlePasskeyRegistrationError;\n/**\n * Handles Overlapping Passkey Errors Between Registration & Authentication\n * https://w3c.github.io/webauthn/#sctn-create-request-exceptions\n * https://w3c.github.io/webauthn/#sctn-get-request-exceptions\n *\n * @param err unknown\n * @returns PasskeyError\n */\nconst handlePasskeyError = (err) => {\n if (err instanceof Error) {\n // Passkey Operation Aborted\n if (err.name === 'AbortError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyOperationAborted];\n return new PasskeyError({\n name: PasskeyErrorCode.PasskeyOperationAborted,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n // Relying Party / Domain Mismatch\n if (err.name === 'SecurityError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.RelyingPartyMismatch];\n return new PasskeyError({\n name: PasskeyErrorCode.RelyingPartyMismatch,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n }\n return new PasskeyError({\n name: utils_1.AmplifyErrorCode.Unknown,\n message: 'An unknown error has occurred.',\n underlyingError: err,\n });\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getIsPasskeySupported = void 0;
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ /**
9
+ * Determines if passkey is supported in current context
10
+ * Will return false if executed in non-secure context
11
+ * @returns boolean
12
+ */
13
+ const getIsPasskeySupported = () => {
14
+ return ((0, utils_1.isBrowser)() &&
15
+ window.isSecureContext &&
16
+ 'credentials' in navigator &&
17
+ typeof window.PublicKeyCredential === 'function');
18
+ };
19
+ exports.getIsPasskeySupported = getIsPasskeySupported;
20
+ //# sourceMappingURL=getIsPasskeySupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIsPasskeySupported.js","sources":["../../../../../src/client/utils/passkey/getIsPasskeySupported.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIsPasskeySupported = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\n/**\n * Determines if passkey is supported in current context\n * Will return false if executed in non-secure context\n * @returns boolean\n */\nconst getIsPasskeySupported = () => {\n return ((0, utils_1.isBrowser)() &&\n window.isSecureContext &&\n 'credentials' in navigator &&\n typeof window.PublicKeyCredential === 'function');\n};\nexports.getIsPasskeySupported = getIsPasskeySupported;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC;AACvC,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAqB,GAAG,MAAM;AACpC,IAAI,QAAQ,IAAI,OAAO,CAAC,SAAS,GAAG;AACpC,QAAQ,MAAM,CAAC,eAAe;AAC9B,QAAQ,aAAa,IAAI,SAAS;AAClC,QAAQ,OAAO,MAAM,CAAC,mBAAmB,KAAK,UAAU,EAAE;AAC1D,CAAC,CAAC;AACF,OAAO,CAAC,qBAAqB,GAAG,qBAAqB;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getIsPasskeySupported = void 0;
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ const getIsPasskeySupported = () => {
9
+ throw new utils_1.PlatformNotSupportedError();
10
+ };
11
+ exports.getIsPasskeySupported = getIsPasskeySupported;
12
+ //# sourceMappingURL=getIsPasskeySupported.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIsPasskeySupported.native.js","sources":["../../../../../src/client/utils/passkey/getIsPasskeySupported.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIsPasskeySupported = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst getIsPasskeySupported = () => {\n throw new utils_1.PlatformNotSupportedError();\n};\nexports.getIsPasskeySupported = getIsPasskeySupported;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC;AACvC,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,qBAAqB,GAAG,MAAM;AACpC,IAAI,MAAM,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;AAClD,CAAC,CAAC;AACF,OAAO,CAAC,qBAAqB,GAAG,qBAAqB;;"}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPasskey = void 0;
7
+ const errors_1 = require("./errors");
8
+ const getIsPasskeySupported_1 = require("./getIsPasskeySupported");
9
+ const serde_1 = require("./serde");
10
+ const types_1 = require("./types");
11
+ const getPasskey = async (input) => {
12
+ try {
13
+ const isPasskeySupported = (0, getIsPasskeySupported_1.getIsPasskeySupported)();
14
+ (0, errors_1.assertPasskeyError)(isPasskeySupported, errors_1.PasskeyErrorCode.PasskeyNotSupported);
15
+ const passkeyGetOptions = (0, serde_1.deserializeJsonToPkcGetOptions)(input);
16
+ const credential = await navigator.credentials.get({
17
+ publicKey: passkeyGetOptions,
18
+ });
19
+ (0, types_1.assertCredentialIsPkcWithAuthenticatorAssertionResponse)(credential);
20
+ return (0, serde_1.serializePkcWithAssertionToJson)(credential);
21
+ }
22
+ catch (err) {
23
+ throw (0, errors_1.handlePasskeyAuthenticationError)(err);
24
+ }
25
+ };
26
+ exports.getPasskey = getPasskey;
27
+ //# sourceMappingURL=getPasskey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPasskey.js","sources":["../../../../../src/client/utils/passkey/getPasskey.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getPasskey = void 0;\nconst errors_1 = require(\"./errors\");\nconst getIsPasskeySupported_1 = require(\"./getIsPasskeySupported\");\nconst serde_1 = require(\"./serde\");\nconst types_1 = require(\"./types\");\nconst getPasskey = async (input) => {\n try {\n const isPasskeySupported = (0, getIsPasskeySupported_1.getIsPasskeySupported)();\n (0, errors_1.assertPasskeyError)(isPasskeySupported, errors_1.PasskeyErrorCode.PasskeyNotSupported);\n const passkeyGetOptions = (0, serde_1.deserializeJsonToPkcGetOptions)(input);\n const credential = await navigator.credentials.get({\n publicKey: passkeyGetOptions,\n });\n (0, types_1.assertCredentialIsPkcWithAuthenticatorAssertionResponse)(credential);\n return (0, serde_1.serializePkcWithAssertionToJson)(credential);\n }\n catch (err) {\n throw (0, errors_1.handlePasskeyAuthenticationError)(err);\n }\n};\nexports.getPasskey = getPasskey;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;AAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACnE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK;AACpC,IAAI,IAAI;AACR,QAAQ,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,qBAAqB,GAAG,CAAC;AACxF,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAC5G,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;AACrF,QAAQ,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;AAC3D,YAAY,SAAS,EAAE,iBAAiB;AACxC,SAAS,CAAC,CAAC;AACX,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,uDAAuD,EAAE,UAAU,CAAC,CAAC;AACzF,QAAQ,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;AACxE,KAAK;AACL,IAAI,OAAO,GAAG,EAAE;AAChB,QAAQ,MAAM,IAAI,QAAQ,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;AAClE,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,UAAU,GAAG,UAAU;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPasskey = void 0;
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ const getPasskey = async () => {
9
+ throw new utils_1.PlatformNotSupportedError();
10
+ };
11
+ exports.getPasskey = getPasskey;
12
+ //# sourceMappingURL=getPasskey.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPasskey.native.js","sources":["../../../../../src/client/utils/passkey/getPasskey.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getPasskey = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst getPasskey = async () => {\n throw new utils_1.PlatformNotSupportedError();\n};\nexports.getPasskey = getPasskey;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;AAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,UAAU,GAAG,YAAY;AAC/B,IAAI,MAAM,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;AAClD,CAAC,CAAC;AACF,OAAO,CAAC,UAAU,GAAG,UAAU;;"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPasskey = exports.registerPasskey = void 0;
7
+ var registerPasskey_1 = require("./registerPasskey");
8
+ Object.defineProperty(exports, "registerPasskey", { enumerable: true, get: function () { return registerPasskey_1.registerPasskey; } });
9
+ var getPasskey_1 = require("./getPasskey");
10
+ Object.defineProperty(exports, "getPasskey", { enumerable: true, get: function () { return getPasskey_1.getPasskey; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/client/utils/passkey/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getPasskey = exports.registerPasskey = void 0;\nvar registerPasskey_1 = require(\"./registerPasskey\");\nObject.defineProperty(exports, \"registerPasskey\", { enumerable: true, get: function () { return registerPasskey_1.registerPasskey; } });\nvar getPasskey_1 = require(\"./getPasskey\");\nObject.defineProperty(exports, \"getPasskey\", { enumerable: true, get: function () { return getPasskey_1.getPasskey; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AACtD,IAAI,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACrD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,iBAAiB,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC;AACxI,IAAI,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerPasskey = void 0;
7
+ const types_1 = require("./types");
8
+ const serde_1 = require("./serde");
9
+ const errors_1 = require("./errors");
10
+ const getIsPasskeySupported_1 = require("./getIsPasskeySupported");
11
+ /**
12
+ * Registers a new passkey for user
13
+ * @param input - PasskeyCreateOptionsJson
14
+ * @returns serialized PasskeyCreateResult
15
+ */
16
+ const registerPasskey = async (input) => {
17
+ try {
18
+ const isPasskeySupported = (0, getIsPasskeySupported_1.getIsPasskeySupported)();
19
+ (0, errors_1.assertPasskeyError)(isPasskeySupported, errors_1.PasskeyErrorCode.PasskeyNotSupported);
20
+ const passkeyCreationOptions = (0, serde_1.deserializeJsonToPkcCreationOptions)(input);
21
+ const credential = await navigator.credentials.create({
22
+ publicKey: passkeyCreationOptions,
23
+ });
24
+ (0, types_1.assertCredentialIsPkcWithAuthenticatorAttestationResponse)(credential);
25
+ return (0, serde_1.serializePkcWithAttestationToJson)(credential);
26
+ }
27
+ catch (err) {
28
+ throw (0, errors_1.handlePasskeyRegistrationError)(err);
29
+ }
30
+ };
31
+ exports.registerPasskey = registerPasskey;
32
+ //# sourceMappingURL=registerPasskey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerPasskey.js","sources":["../../../../../src/client/utils/passkey/registerPasskey.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerPasskey = void 0;\nconst types_1 = require(\"./types\");\nconst serde_1 = require(\"./serde\");\nconst errors_1 = require(\"./errors\");\nconst getIsPasskeySupported_1 = require(\"./getIsPasskeySupported\");\n/**\n * Registers a new passkey for user\n * @param input - PasskeyCreateOptionsJson\n * @returns serialized PasskeyCreateResult\n */\nconst registerPasskey = async (input) => {\n try {\n const isPasskeySupported = (0, getIsPasskeySupported_1.getIsPasskeySupported)();\n (0, errors_1.assertPasskeyError)(isPasskeySupported, errors_1.PasskeyErrorCode.PasskeyNotSupported);\n const passkeyCreationOptions = (0, serde_1.deserializeJsonToPkcCreationOptions)(input);\n const credential = await navigator.credentials.create({\n publicKey: passkeyCreationOptions,\n });\n (0, types_1.assertCredentialIsPkcWithAuthenticatorAttestationResponse)(credential);\n return (0, serde_1.serializePkcWithAttestationToJson)(credential);\n }\n catch (err) {\n throw (0, errors_1.handlePasskeyRegistrationError)(err);\n }\n};\nexports.registerPasskey = registerPasskey;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACnE;AACA;AACA;AACA;AACA;AACA,MAAM,eAAe,GAAG,OAAO,KAAK,KAAK;AACzC,IAAI,IAAI;AACR,QAAQ,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,qBAAqB,GAAG,CAAC;AACxF,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAC5G,QAAQ,MAAM,sBAAsB,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;AAC/F,QAAQ,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAC9D,YAAY,SAAS,EAAE,sBAAsB;AAC7C,SAAS,CAAC,CAAC;AACX,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,yDAAyD,EAAE,UAAU,CAAC,CAAC;AAC3F,QAAQ,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,OAAO,GAAG,EAAE;AAChB,QAAQ,MAAM,IAAI,QAAQ,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;AAChE,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,eAAe,GAAG,eAAe;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerPasskey = void 0;
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ const registerPasskey = async () => {
9
+ throw new utils_1.PlatformNotSupportedError();
10
+ };
11
+ exports.registerPasskey = registerPasskey;
12
+ //# sourceMappingURL=registerPasskey.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerPasskey.native.js","sources":["../../../../../src/client/utils/passkey/registerPasskey.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerPasskey = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst registerPasskey = async () => {\n throw new utils_1.PlatformNotSupportedError();\n};\nexports.registerPasskey = registerPasskey;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,eAAe,GAAG,YAAY;AACpC,IAAI,MAAM,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;AAClD,CAAC,CAAC;AACF,OAAO,CAAC,eAAe,GAAG,eAAe;;"}
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.serializePkcWithAssertionToJson = exports.deserializeJsonToPkcGetOptions = exports.serializePkcWithAttestationToJson = exports.deserializeJsonToPkcCreationOptions = void 0;
7
+ const convert_1 = require("../../../foundation/convert");
8
+ /**
9
+ * Deserializes Public Key Credential Creation Options JSON
10
+ * @param input PasskeyCreateOptionsJson
11
+ * @returns PublicKeyCredentialCreationOptions
12
+ */
13
+ const deserializeJsonToPkcCreationOptions = (input) => {
14
+ const userIdBuffer = (0, convert_1.convertBase64UrlToArrayBuffer)(input.user.id);
15
+ const challengeBuffer = (0, convert_1.convertBase64UrlToArrayBuffer)(input.challenge);
16
+ const excludeCredentialsWithBuffer = (input.excludeCredentials || []).map(excludeCred => ({
17
+ ...excludeCred,
18
+ id: (0, convert_1.convertBase64UrlToArrayBuffer)(excludeCred.id),
19
+ }));
20
+ return {
21
+ ...input,
22
+ excludeCredentials: excludeCredentialsWithBuffer,
23
+ challenge: challengeBuffer,
24
+ user: {
25
+ ...input.user,
26
+ id: userIdBuffer,
27
+ },
28
+ };
29
+ };
30
+ exports.deserializeJsonToPkcCreationOptions = deserializeJsonToPkcCreationOptions;
31
+ /**
32
+ * Serializes a Public Key Credential With Attestation to JSON
33
+ * @param input PasskeyCreateResult
34
+ * @returns PasskeyCreateResultJson
35
+ */
36
+ const serializePkcWithAttestationToJson = (input) => {
37
+ const response = {
38
+ clientDataJSON: (0, convert_1.convertArrayBufferToBase64Url)(input.response.clientDataJSON),
39
+ attestationObject: (0, convert_1.convertArrayBufferToBase64Url)(input.response.attestationObject),
40
+ transports: input.response.getTransports(),
41
+ publicKeyAlgorithm: input.response.getPublicKeyAlgorithm(),
42
+ authenticatorData: (0, convert_1.convertArrayBufferToBase64Url)(input.response.getAuthenticatorData()),
43
+ };
44
+ const publicKey = input.response.getPublicKey();
45
+ if (publicKey) {
46
+ response.publicKey = (0, convert_1.convertArrayBufferToBase64Url)(publicKey);
47
+ }
48
+ const resultJson = {
49
+ type: input.type,
50
+ id: input.id,
51
+ rawId: (0, convert_1.convertArrayBufferToBase64Url)(input.rawId),
52
+ clientExtensionResults: input.getClientExtensionResults(),
53
+ response,
54
+ };
55
+ if (input.authenticatorAttachment) {
56
+ resultJson.authenticatorAttachment = input.authenticatorAttachment;
57
+ }
58
+ return resultJson;
59
+ };
60
+ exports.serializePkcWithAttestationToJson = serializePkcWithAttestationToJson;
61
+ /**
62
+ * Deserializes Public Key Credential Get Options JSON
63
+ * @param input PasskeyGetOptionsJson
64
+ * @returns PublicKeyCredentialRequestOptions
65
+ */
66
+ const deserializeJsonToPkcGetOptions = (input) => {
67
+ const challengeBuffer = (0, convert_1.convertBase64UrlToArrayBuffer)(input.challenge);
68
+ const allowedCredentialsWithBuffer = (input.allowCredentials || []).map(allowedCred => ({
69
+ ...allowedCred,
70
+ id: (0, convert_1.convertBase64UrlToArrayBuffer)(allowedCred.id),
71
+ }));
72
+ return {
73
+ ...input,
74
+ challenge: challengeBuffer,
75
+ allowCredentials: allowedCredentialsWithBuffer,
76
+ };
77
+ };
78
+ exports.deserializeJsonToPkcGetOptions = deserializeJsonToPkcGetOptions;
79
+ /**
80
+ * Serializes a Public Key Credential With Attestation to JSON
81
+ * @param input PasskeyGetResult
82
+ * @returns PasskeyGetResultJson
83
+ */
84
+ const serializePkcWithAssertionToJson = (input) => {
85
+ const response = {
86
+ clientDataJSON: (0, convert_1.convertArrayBufferToBase64Url)(input.response.clientDataJSON),
87
+ authenticatorData: (0, convert_1.convertArrayBufferToBase64Url)(input.response.authenticatorData),
88
+ signature: (0, convert_1.convertArrayBufferToBase64Url)(input.response.signature),
89
+ };
90
+ if (input.response.userHandle) {
91
+ response.userHandle = (0, convert_1.convertArrayBufferToBase64Url)(input.response.userHandle);
92
+ }
93
+ const resultJson = {
94
+ id: input.id,
95
+ rawId: (0, convert_1.convertArrayBufferToBase64Url)(input.rawId),
96
+ type: input.type,
97
+ clientExtensionResults: input.getClientExtensionResults(),
98
+ response,
99
+ };
100
+ if (input.authenticatorAttachment) {
101
+ resultJson.authenticatorAttachment = input.authenticatorAttachment;
102
+ }
103
+ return resultJson;
104
+ };
105
+ exports.serializePkcWithAssertionToJson = serializePkcWithAssertionToJson;
106
+ //# sourceMappingURL=serde.js.map