@aws-amplify/auth 6.7.0 → 6.7.1-unstable.68c7f6f.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
@@ -3,6 +3,7 @@ import { signIn } from '../apis/signIn.mjs';
3
3
  import { AuthError } from '../../../errors/AuthError.mjs';
4
4
  import { setAutoSignIn, resetAutoSignIn } from '../apis/autoSignIn.mjs';
5
5
  import { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants.mjs';
6
+ import { signInWithUserAuth } from '../apis/signInWithUserAuth.mjs';
6
7
 
7
8
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
9
  // SPDX-License-Identifier: Apache-2.0
@@ -25,7 +26,6 @@ function handleCodeAutoSignIn(signInInput) {
25
26
  // This will stop the listener if confirmSignUp is not resolved.
26
27
  const timeOutId = setTimeout(() => {
27
28
  stopHubListener();
28
- setAutoSignInStarted(false);
29
29
  clearTimeout(timeOutId);
30
30
  resetAutoSignIn();
31
31
  }, MAX_AUTOSIGNIN_POLLING_MS);
@@ -49,7 +49,6 @@ function handleAutoSignInWithLink(signInInput, resolve, reject) {
49
49
  const maxTime = MAX_AUTOSIGNIN_POLLING_MS;
50
50
  if (elapsedTime > maxTime) {
51
51
  clearInterval(autoSignInPollingIntervalId);
52
- setAutoSignInStarted(false);
53
52
  reject(new AuthError({
54
53
  name: AUTO_SIGN_IN_EXCEPTION,
55
54
  message: 'The account was not confirmed on time.',
@@ -63,13 +62,11 @@ function handleAutoSignInWithLink(signInInput, resolve, reject) {
63
62
  if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {
64
63
  resolve(signInOutput);
65
64
  clearInterval(autoSignInPollingIntervalId);
66
- setAutoSignInStarted(false);
67
65
  resetAutoSignIn();
68
66
  }
69
67
  }
70
68
  catch (error) {
71
69
  clearInterval(autoSignInPollingIntervalId);
72
- setAutoSignInStarted(false);
73
70
  reject(error);
74
71
  resetAutoSignIn();
75
72
  }
@@ -78,26 +75,6 @@ function handleAutoSignInWithLink(signInInput, resolve, reject) {
78
75
  }
79
76
  const debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);
80
77
  const debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);
81
- let autoSignInStarted = false;
82
- let usernameUsedForAutoSignIn;
83
- function setUsernameUsedForAutoSignIn(username) {
84
- usernameUsedForAutoSignIn = username;
85
- }
86
- function isAutoSignInUserUsingConfirmSignUp(username) {
87
- return usernameUsedForAutoSignIn === username;
88
- }
89
- function isAutoSignInStarted() {
90
- return autoSignInStarted;
91
- }
92
- function setAutoSignInStarted(value) {
93
- if (value === false) {
94
- setUsernameUsedForAutoSignIn(undefined);
95
- }
96
- autoSignInStarted = value;
97
- }
98
- function isSignUpComplete(output) {
99
- return !!output.UserConfirmed;
100
- }
101
78
  function autoSignInWhenUserIsConfirmedWithLink(signInInput) {
102
79
  return async () => {
103
80
  return new Promise((resolve, reject) => {
@@ -107,7 +84,9 @@ function autoSignInWhenUserIsConfirmedWithLink(signInInput) {
107
84
  }
108
85
  async function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {
109
86
  try {
110
- const output = await signIn(signInInput);
87
+ const output = signInInput?.options?.authFlowType === 'USER_AUTH'
88
+ ? await signInWithUserAuth(signInInput)
89
+ : await signIn(signInInput);
111
90
  resolve(output);
112
91
  resetAutoSignIn();
113
92
  }
@@ -125,5 +104,5 @@ function autoSignInWithCode(signInInput) {
125
104
  }
126
105
  const autoSignInUserConfirmed = autoSignInWithCode;
127
106
 
128
- export { autoSignInUserConfirmed, autoSignInWhenUserIsConfirmedWithLink, handleCodeAutoSignIn, isAutoSignInStarted, isAutoSignInUserUsingConfirmSignUp, isSignUpComplete, setAutoSignInStarted, setUsernameUsedForAutoSignIn };
107
+ export { autoSignInUserConfirmed, autoSignInWhenUserIsConfirmedWithLink, handleCodeAutoSignIn };
129
108
  //# sourceMappingURL=signUpHelpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"signUpHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signUpHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { HubInternal } from '@aws-amplify/core/internals/utils';\nimport { signIn } from '../apis/signIn';\nimport { AuthError } from '../../../errors/AuthError';\nimport { resetAutoSignIn, setAutoSignIn } from '../apis/autoSignIn';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants';\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\nexport function handleCodeAutoSignIn(signInInput) {\n const stopHubListener = HubInternal.listen('auth-internal', async ({ payload }) => {\n switch (payload.event) {\n case 'confirmSignUp': {\n const response = payload.data;\n if (response?.isSignUpComplete) {\n HubInternal.dispatch('auth-internal', {\n event: 'autoSignIn',\n });\n setAutoSignIn(autoSignInWithCode(signInInput));\n stopHubListener();\n }\n }\n }\n });\n // This will stop the listener if confirmSignUp is not resolved.\n const timeOutId = setTimeout(() => {\n stopHubListener();\n setAutoSignInStarted(false);\n clearTimeout(timeOutId);\n resetAutoSignIn();\n }, MAX_AUTOSIGNIN_POLLING_MS);\n}\nfunction debounce(fun, delay) {\n let timer;\n return (args) => {\n if (!timer) {\n fun(...args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n }, delay);\n };\n}\nfunction handleAutoSignInWithLink(signInInput, resolve, reject) {\n const start = Date.now();\n const autoSignInPollingIntervalId = setInterval(async () => {\n const elapsedTime = Date.now() - start;\n const maxTime = MAX_AUTOSIGNIN_POLLING_MS;\n if (elapsedTime > maxTime) {\n clearInterval(autoSignInPollingIntervalId);\n setAutoSignInStarted(false);\n reject(new AuthError({\n name: AUTO_SIGN_IN_EXCEPTION,\n message: 'The account was not confirmed on time.',\n recoverySuggestion: 'Try to verify your account by clicking the link sent your email or phone and then login manually.',\n }));\n resetAutoSignIn();\n }\n else {\n try {\n const signInOutput = await signIn(signInInput);\n if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {\n resolve(signInOutput);\n clearInterval(autoSignInPollingIntervalId);\n setAutoSignInStarted(false);\n resetAutoSignIn();\n }\n }\n catch (error) {\n clearInterval(autoSignInPollingIntervalId);\n setAutoSignInStarted(false);\n reject(error);\n resetAutoSignIn();\n }\n }\n }, 5000);\n}\nconst debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);\nconst debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);\nlet autoSignInStarted = false;\nlet usernameUsedForAutoSignIn;\nexport function setUsernameUsedForAutoSignIn(username) {\n usernameUsedForAutoSignIn = username;\n}\nexport function isAutoSignInUserUsingConfirmSignUp(username) {\n return usernameUsedForAutoSignIn === username;\n}\nexport function isAutoSignInStarted() {\n return autoSignInStarted;\n}\nexport function setAutoSignInStarted(value) {\n if (value === false) {\n setUsernameUsedForAutoSignIn(undefined);\n }\n autoSignInStarted = value;\n}\nexport function isSignUpComplete(output) {\n return !!output.UserConfirmed;\n}\nexport function autoSignInWhenUserIsConfirmedWithLink(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignInWithLink([signInInput, resolve, reject]);\n });\n };\n}\nasync function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {\n try {\n const output = await signIn(signInInput);\n resolve(output);\n resetAutoSignIn();\n }\n catch (error) {\n reject(error);\n resetAutoSignIn();\n }\n}\nfunction autoSignInWithCode(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignWithCodeOrUserConfirmed([signInInput, resolve, reject]);\n });\n };\n}\nexport const autoSignInUserConfirmed = autoSignInWithCode;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signUpHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signUpHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { HubInternal } from '@aws-amplify/core/internals/utils';\nimport { signIn } from '../apis/signIn';\nimport { AuthError } from '../../../errors/AuthError';\nimport { resetAutoSignIn, setAutoSignIn } from '../apis/autoSignIn';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants';\nimport { signInWithUserAuth } from '../apis/signInWithUserAuth';\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\nexport function handleCodeAutoSignIn(signInInput) {\n const stopHubListener = HubInternal.listen('auth-internal', async ({ payload }) => {\n switch (payload.event) {\n case 'confirmSignUp': {\n const response = payload.data;\n if (response?.isSignUpComplete) {\n HubInternal.dispatch('auth-internal', {\n event: 'autoSignIn',\n });\n setAutoSignIn(autoSignInWithCode(signInInput));\n stopHubListener();\n }\n }\n }\n });\n // This will stop the listener if confirmSignUp is not resolved.\n const timeOutId = setTimeout(() => {\n stopHubListener();\n clearTimeout(timeOutId);\n resetAutoSignIn();\n }, MAX_AUTOSIGNIN_POLLING_MS);\n}\nfunction debounce(fun, delay) {\n let timer;\n return (args) => {\n if (!timer) {\n fun(...args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n }, delay);\n };\n}\nfunction handleAutoSignInWithLink(signInInput, resolve, reject) {\n const start = Date.now();\n const autoSignInPollingIntervalId = setInterval(async () => {\n const elapsedTime = Date.now() - start;\n const maxTime = MAX_AUTOSIGNIN_POLLING_MS;\n if (elapsedTime > maxTime) {\n clearInterval(autoSignInPollingIntervalId);\n reject(new AuthError({\n name: AUTO_SIGN_IN_EXCEPTION,\n message: 'The account was not confirmed on time.',\n recoverySuggestion: 'Try to verify your account by clicking the link sent your email or phone and then login manually.',\n }));\n resetAutoSignIn();\n }\n else {\n try {\n const signInOutput = await signIn(signInInput);\n if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {\n resolve(signInOutput);\n clearInterval(autoSignInPollingIntervalId);\n resetAutoSignIn();\n }\n }\n catch (error) {\n clearInterval(autoSignInPollingIntervalId);\n reject(error);\n resetAutoSignIn();\n }\n }\n }, 5000);\n}\nconst debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);\nconst debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);\nexport function autoSignInWhenUserIsConfirmedWithLink(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignInWithLink([signInInput, resolve, reject]);\n });\n };\n}\nasync function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {\n try {\n const output = signInInput?.options?.authFlowType === 'USER_AUTH'\n ? await signInWithUserAuth(signInInput)\n : await signIn(signInInput);\n resolve(output);\n resetAutoSignIn();\n }\n catch (error) {\n reject(error);\n resetAutoSignIn();\n }\n}\nfunction autoSignInWithCode(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignWithCodeOrUserConfirmed([signInInput, resolve, reject]);\n });\n };\n}\nexport const autoSignInUserConfirmed = autoSignInWithCode;\n"],"names":[],"mappings":";;;;;;;AAAA;AACA;AAOA,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,SAAS,oBAAoB,CAAC,WAAW,EAAE;AAClD,IAAI,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AACvF,QAAQ,QAAQ,OAAO,CAAC,KAAK;AAC7B,YAAY,KAAK,eAAe,EAAE;AAClC,gBAAgB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;AAC9C,gBAAgB,IAAI,QAAQ,EAAE,gBAAgB,EAAE;AAChD,oBAAoB,WAAW,CAAC,QAAQ,CAAC,eAAe,EAAE;AAC1D,wBAAwB,KAAK,EAAE,YAAY;AAC3C,qBAAqB,CAAC,CAAC;AACvB,oBAAoB,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;AACnE,oBAAoB,eAAe,EAAE,CAAC;AACtC,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM;AACvC,QAAQ,eAAe,EAAE,CAAC;AAC1B,QAAQ,YAAY,CAAC,SAAS,CAAC,CAAC;AAChC,QAAQ,eAAe,EAAE,CAAC;AAC1B,KAAK,EAAE,yBAAyB,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE;AAC9B,IAAI,IAAI,KAAK,CAAC;AACd,IAAI,OAAO,CAAC,IAAI,KAAK;AACrB,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACzB,SAAS;AACT,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAQ,KAAK,GAAG,UAAU,CAAC,MAAM;AACjC,YAAY,KAAK,GAAG,SAAS,CAAC;AAC9B,SAAS,EAAE,KAAK,CAAC,CAAC;AAClB,KAAK,CAAC;AACN,CAAC;AACD,SAAS,wBAAwB,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;AAChE,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7B,IAAI,MAAM,2BAA2B,GAAG,WAAW,CAAC,YAAY;AAChE,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAC/C,QAAQ,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAClD,QAAQ,IAAI,WAAW,GAAG,OAAO,EAAE;AACnC,YAAY,aAAa,CAAC,2BAA2B,CAAC,CAAC;AACvD,YAAY,MAAM,CAAC,IAAI,SAAS,CAAC;AACjC,gBAAgB,IAAI,EAAE,sBAAsB;AAC5C,gBAAgB,OAAO,EAAE,wCAAwC;AACjE,gBAAgB,kBAAkB,EAAE,mGAAmG;AACvI,aAAa,CAAC,CAAC,CAAC;AAChB,YAAY,eAAe,EAAE,CAAC;AAC9B,SAAS;AACT,aAAa;AACb,YAAY,IAAI;AAChB,gBAAgB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;AAC/D,gBAAgB,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,KAAK,iBAAiB,EAAE;AAC5E,oBAAoB,OAAO,CAAC,YAAY,CAAC,CAAC;AAC1C,oBAAoB,aAAa,CAAC,2BAA2B,CAAC,CAAC;AAC/D,oBAAoB,eAAe,EAAE,CAAC;AACtC,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,aAAa,CAAC,2BAA2B,CAAC,CAAC;AAC3D,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,gBAAgB,eAAe,EAAE,CAAC;AAClC,aAAa;AACb,SAAS;AACT,KAAK,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AACD,MAAM,2BAA2B,GAAG,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;AAC5E,MAAM,wCAAwC,GAAG,QAAQ,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;AACjG,SAAS,qCAAqC,CAAC,WAAW,EAAE;AACnE,IAAI,OAAO,YAAY;AACvB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,2BAA2B,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,CAAC;AACD,eAAe,uCAAuC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;AACrF,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,WAAW,EAAE,OAAO,EAAE,YAAY,KAAK,WAAW;AACzE,cAAc,MAAM,kBAAkB,CAAC,WAAW,CAAC;AACnD,cAAc,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;AACxC,QAAQ,OAAO,CAAC,MAAM,CAAC,CAAC;AACxB,QAAQ,eAAe,EAAE,CAAC;AAC1B,KAAK;AACL,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,QAAQ,eAAe,EAAE,CAAC;AAC1B,KAAK;AACL,CAAC;AACD,SAAS,kBAAkB,CAAC,WAAW,EAAE;AACzC,IAAI,OAAO,YAAY;AACvB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,wCAAwC,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACrF,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,CAAC;AACW,MAAC,uBAAuB,GAAG;;;;"}
@@ -54,12 +54,12 @@ export interface AuthSignInWithRedirectInput {
54
54
  * The parameters for constructing a Sign Up input.
55
55
  *
56
56
  * @param username - a standard username, potentially an email/phone number
57
- * @param password - the user's password
57
+ * @param password - the user's password, may be required depending on your Cognito User Pool configuration
58
58
  * @param options - optional parameters for the Sign Up process, including user attributes
59
59
  */
60
60
  export interface AuthSignUpInput<ServiceOptions extends AuthSignUpOptions<AuthUserAttributeKey> = AuthSignUpOptions<AuthUserAttributeKey>> {
61
61
  username: string;
62
- password: string;
62
+ password?: string;
63
63
  options?: ServiceOptions;
64
64
  }
65
65
  /**
@@ -1,4 +1,5 @@
1
1
  import { AuthStandardAttributeKey } from '@aws-amplify/core/internals/utils';
2
+ import { ChallengeName } from '../foundation/factories/serviceClients/cognitoIdentityProvider/types';
2
3
  import { SignInOutput } from '../providers/cognito';
3
4
  /**
4
5
  * Additional data that may be returned from Auth APIs.
@@ -189,7 +190,14 @@ export interface DoneSignInStep {
189
190
  */
190
191
  signInStep: 'DONE';
191
192
  }
192
- export type AuthNextSignInStep<UserAttributeKey extends AuthUserAttributeKey = AuthUserAttributeKey> = ConfirmSignInWithCustomChallenge | ContinueSignInWithMFASelection | ConfirmSignInWithNewPasswordRequired<UserAttributeKey> | ConfirmSignInWithSMSCode | ConfirmSignInWithTOTPCode | ConfirmSignInWithEmailCode | ContinueSignInWithTOTPSetup | ContinueSignInWithEmailSetup | ContinueSignInWithMFASetupSelection | ConfirmSignUpStep | ResetPasswordStep | DoneSignInStep;
193
+ export interface ContinueSignInWithFirstFactorSelection {
194
+ signInStep: 'CONTINUE_SIGN_IN_WITH_FIRST_FACTOR_SELECTION';
195
+ availableChallenges?: ChallengeName[];
196
+ }
197
+ export interface ConfirmSignInWithPassword {
198
+ signInStep: 'CONFIRM_SIGN_IN_WITH_PASSWORD';
199
+ }
200
+ export type AuthNextSignInStep<UserAttributeKey extends AuthUserAttributeKey = AuthUserAttributeKey> = ConfirmSignInWithCustomChallenge | ContinueSignInWithMFASelection | ConfirmSignInWithNewPasswordRequired<UserAttributeKey> | ConfirmSignInWithSMSCode | ConfirmSignInWithTOTPCode | ConfirmSignInWithEmailCode | ContinueSignInWithTOTPSetup | ContinueSignInWithEmailSetup | ContinueSignInWithMFASetupSelection | ContinueSignInWithFirstFactorSelection | ConfirmSignInWithPassword | ConfirmSignUpStep | ResetPasswordStep | DoneSignInStep;
193
201
  /**
194
202
  * Key/value pairs describing a user attributes.
195
203
  */
package/package.json CHANGED
@@ -1,106 +1,106 @@
1
1
  {
2
- "name": "@aws-amplify/auth",
3
- "version": "6.7.0",
4
- "description": "Auth category of aws-amplify",
5
- "main": "./dist/cjs/index.js",
6
- "module": "./dist/esm/index.mjs",
7
- "typings": "./dist/esm/index.d.ts",
8
- "react-native": "./src/index.ts",
9
- "sideEffects": [
10
- "./dist/cjs/providers/cognito/apis/signInWithRedirect.js",
11
- "./dist/esm/providers/cognito/apis/signInWithRedirect.mjs",
12
- "./dist/cjs/providers/cognito/utils/oauth/enableOAuthListener.js",
13
- "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs"
14
- ],
15
- "publishConfig": {
16
- "access": "public"
17
- },
18
- "scripts": {
19
- "test": "yarn lint --fix && jest -w 1 --coverage --logHeapUsage",
20
- "build-with-test": "npm test && npm run build",
21
- "build:umd": "webpack && webpack --config ./webpack.config.dev.js",
22
- "build:esm-cjs": "rollup --forceExit -c rollup.config.mjs",
23
- "build:watch": "npm run build:esm-cjs -- --watch",
24
- "build": "npm run clean && npm run build:esm-cjs && npm run build:umd",
25
- "clean": "npm run clean:size && rimraf lib-esm lib dist",
26
- "clean:size": "rimraf dual-publish-tmp tmp*",
27
- "format": "echo \"Not implemented\"",
28
- "lint": "eslint '**/*.{ts,tsx}' && npm run ts-coverage",
29
- "lint:fix": "eslint '**/*.{ts,tsx}' --fix",
30
- "ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 91.18"
31
- },
32
- "typesVersions": {
33
- ">=4.2": {
34
- "cognito": [
35
- "./dist/esm/providers/cognito/index.d.ts"
36
- ],
37
- "cognito/server": [
38
- "./dist/esm/providers/cognito/apis/server/index.d.ts"
39
- ],
40
- "server": [
41
- "./dist/esm/server.d.ts"
42
- ]
43
- }
44
- },
45
- "exports": {
46
- ".": {
47
- "types": "./dist/esm/index.d.ts",
48
- "import": "./dist/esm/index.mjs",
49
- "require": "./dist/cjs/index.js",
50
- "react-native": "./src/index.ts"
51
- },
52
- "./cognito": {
53
- "types": "./dist/esm/providers/cognito/index.d.ts",
54
- "import": "./dist/esm/providers/cognito/index.mjs",
55
- "require": "./dist/cjs/providers/cognito/index.js",
56
- "react-native": "./src/providers/cognito/index.ts"
57
- },
58
- "./cognito/server": {
59
- "types": "./dist/esm/providers/cognito/apis/server/index.d.ts",
60
- "import": "./dist/esm/providers/cognito/apis/server/index.mjs",
61
- "require": "./dist/cjs/providers/cognito/apis/server/index.js"
62
- },
63
- "./server": {
64
- "types": "./dist/esm/server.d.ts",
65
- "import": "./dist/esm/server.mjs",
66
- "require": "./dist/cjs/server.js"
67
- },
68
- "./enable-oauth-listener": {
69
- "types": "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.d.ts",
70
- "import": "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs",
71
- "require": "./dist/cjs/providers/cognito/utils/oauth/enableOAuthListener.js"
72
- },
73
- "./package.json": "./package.json"
74
- },
75
- "repository": {
76
- "type": "git",
77
- "url": "https://github.com/aws-amplify/amplify-js.git"
78
- },
79
- "author": "Amazon Web Services",
80
- "license": "Apache-2.0",
81
- "bugs": {
82
- "url": "https://github.com/aws/aws-amplify/issues"
83
- },
84
- "homepage": "https://aws-amplify.github.io/",
85
- "files": [
86
- "dist/cjs",
87
- "dist/esm",
88
- "src",
89
- "cognito",
90
- "server",
91
- "enable-oauth-listener"
92
- ],
93
- "dependencies": {
94
- "tslib": "^2.5.0"
95
- },
96
- "peerDependencies": {
97
- "@aws-amplify/core": "^6.1.0"
98
- },
99
- "devDependencies": {
100
- "@aws-amplify/core": "6.6.0",
101
- "@aws-amplify/react-native": "1.1.6",
102
- "@jest/test-sequencer": "^29.7.0",
103
- "typescript": "5.0.2"
104
- },
105
- "gitHead": "30abdbd853b2d237c491c4e3e1390b1ed449fb47"
2
+ "name": "@aws-amplify/auth",
3
+ "version": "6.7.1-unstable.68c7f6f.0+68c7f6f",
4
+ "description": "Auth category of aws-amplify",
5
+ "main": "./dist/cjs/index.js",
6
+ "module": "./dist/esm/index.mjs",
7
+ "typings": "./dist/esm/index.d.ts",
8
+ "react-native": "./src/index.ts",
9
+ "sideEffects": [
10
+ "./dist/cjs/providers/cognito/apis/signInWithRedirect.js",
11
+ "./dist/esm/providers/cognito/apis/signInWithRedirect.mjs",
12
+ "./dist/cjs/providers/cognito/utils/oauth/enableOAuthListener.js",
13
+ "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs"
14
+ ],
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "scripts": {
19
+ "test": "yarn lint --fix && jest -w 1 --coverage --logHeapUsage",
20
+ "build-with-test": "npm test && npm run build",
21
+ "build:umd": "webpack && webpack --config ./webpack.config.dev.js",
22
+ "build:esm-cjs": "rollup --forceExit -c rollup.config.mjs",
23
+ "build:watch": "npm run build:esm-cjs -- --watch",
24
+ "build": "npm run clean && npm run build:esm-cjs && npm run build:umd",
25
+ "clean": "npm run clean:size && rimraf lib-esm lib dist",
26
+ "clean:size": "rimraf dual-publish-tmp tmp*",
27
+ "format": "echo \"Not implemented\"",
28
+ "lint": "eslint '**/*.{ts,tsx}' && npm run ts-coverage",
29
+ "lint:fix": "eslint '**/*.{ts,tsx}' --fix",
30
+ "ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 91.18"
31
+ },
32
+ "typesVersions": {
33
+ ">=4.2": {
34
+ "cognito": [
35
+ "./dist/esm/providers/cognito/index.d.ts"
36
+ ],
37
+ "cognito/server": [
38
+ "./dist/esm/providers/cognito/apis/server/index.d.ts"
39
+ ],
40
+ "server": [
41
+ "./dist/esm/server.d.ts"
42
+ ]
43
+ }
44
+ },
45
+ "exports": {
46
+ ".": {
47
+ "types": "./dist/esm/index.d.ts",
48
+ "import": "./dist/esm/index.mjs",
49
+ "require": "./dist/cjs/index.js",
50
+ "react-native": "./src/index.ts"
51
+ },
52
+ "./cognito": {
53
+ "types": "./dist/esm/providers/cognito/index.d.ts",
54
+ "import": "./dist/esm/providers/cognito/index.mjs",
55
+ "require": "./dist/cjs/providers/cognito/index.js",
56
+ "react-native": "./src/providers/cognito/index.ts"
57
+ },
58
+ "./cognito/server": {
59
+ "types": "./dist/esm/providers/cognito/apis/server/index.d.ts",
60
+ "import": "./dist/esm/providers/cognito/apis/server/index.mjs",
61
+ "require": "./dist/cjs/providers/cognito/apis/server/index.js"
62
+ },
63
+ "./server": {
64
+ "types": "./dist/esm/server.d.ts",
65
+ "import": "./dist/esm/server.mjs",
66
+ "require": "./dist/cjs/server.js"
67
+ },
68
+ "./enable-oauth-listener": {
69
+ "types": "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.d.ts",
70
+ "import": "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs",
71
+ "require": "./dist/cjs/providers/cognito/utils/oauth/enableOAuthListener.js"
72
+ },
73
+ "./package.json": "./package.json"
74
+ },
75
+ "repository": {
76
+ "type": "git",
77
+ "url": "https://github.com/aws-amplify/amplify-js.git"
78
+ },
79
+ "author": "Amazon Web Services",
80
+ "license": "Apache-2.0",
81
+ "bugs": {
82
+ "url": "https://github.com/aws/aws-amplify/issues"
83
+ },
84
+ "homepage": "https://aws-amplify.github.io/",
85
+ "files": [
86
+ "dist/cjs",
87
+ "dist/esm",
88
+ "src",
89
+ "cognito",
90
+ "server",
91
+ "enable-oauth-listener"
92
+ ],
93
+ "dependencies": {
94
+ "tslib": "^2.5.0"
95
+ },
96
+ "peerDependencies": {
97
+ "@aws-amplify/core": "6.6.1-unstable.68c7f6f.0+68c7f6f"
98
+ },
99
+ "devDependencies": {
100
+ "@aws-amplify/core": "6.6.1-unstable.68c7f6f.0+68c7f6f",
101
+ "@aws-amplify/react-native": "1.1.7-unstable.68c7f6f.0+68c7f6f",
102
+ "@jest/test-sequencer": "^29.7.0",
103
+ "typescript": "5.0.2"
104
+ },
105
+ "gitHead": "68c7f6fbaa903ac8e45035bc25a71321a6240aec"
106
106
  }
@@ -0,0 +1,94 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { Amplify, fetchAuthSession } from '@aws-amplify/core';
5
+ import {
6
+ AuthAction,
7
+ assertTokenProviderConfig,
8
+ } from '@aws-amplify/core/internals/utils';
9
+
10
+ import {
11
+ CompleteWebAuthnRegistrationException,
12
+ StartWebAuthnRegistrationException,
13
+ } from '../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
14
+ import { assertAuthTokens } from '../../providers/cognito/utils/types';
15
+ import { createCognitoUserPoolEndpointResolver } from '../../providers/cognito/factories';
16
+ import { getRegionFromUserPoolId } from '../../foundation/parsers';
17
+ import { getAuthUserAgentValue } from '../../utils';
18
+ import { registerPasskey } from '../utils';
19
+ import {
20
+ createCompleteWebAuthnRegistrationClient,
21
+ createStartWebAuthnRegistrationClient,
22
+ } from '../../foundation/factories/serviceClients/cognitoIdentityProvider';
23
+ import { PasskeyError } from '../utils/passkey/errors';
24
+ import { AuthError } from '../../errors/AuthError';
25
+ import { assertValidCredentialCreationOptions } from '../utils/passkey/types';
26
+
27
+ /**
28
+ * Registers a new passkey for an authenticated user
29
+ *
30
+ * @returns Promise<void>
31
+ * @throws - {@link PasskeyError}:
32
+ * - Thrown when intermediate state is invalid
33
+ * @throws - {@link AuthError}:
34
+ * - Thrown when user is unauthenticated
35
+ * @throws - {@link StartWebAuthnRegistrationException}
36
+ * - Thrown due to a service error retrieving WebAuthn registration options
37
+ * @throws - {@link CompleteWebAuthnRegistrationException}
38
+ * - Thrown due to a service error when verifying WebAuthn registration result
39
+ */
40
+ export async function associateWebAuthnCredential(): Promise<void> {
41
+ const authConfig = Amplify.getConfig().Auth?.Cognito;
42
+
43
+ assertTokenProviderConfig(authConfig);
44
+
45
+ const { userPoolEndpoint, userPoolId } = authConfig;
46
+
47
+ const { tokens } = await fetchAuthSession();
48
+
49
+ assertAuthTokens(tokens);
50
+
51
+ const startWebAuthnRegistration = createStartWebAuthnRegistrationClient({
52
+ endpointResolver: createCognitoUserPoolEndpointResolver({
53
+ endpointOverride: userPoolEndpoint,
54
+ }),
55
+ });
56
+
57
+ const { CredentialCreationOptions: credentialCreationOptions } =
58
+ await startWebAuthnRegistration(
59
+ {
60
+ region: getRegionFromUserPoolId(userPoolId),
61
+ userAgentValue: getAuthUserAgentValue(
62
+ AuthAction.StartWebAuthnRegistration,
63
+ ),
64
+ },
65
+ {
66
+ AccessToken: tokens.accessToken.toString(),
67
+ },
68
+ );
69
+
70
+ assertValidCredentialCreationOptions(credentialCreationOptions);
71
+
72
+ const cred = await registerPasskey(credentialCreationOptions);
73
+
74
+ const completeWebAuthnRegistration = createCompleteWebAuthnRegistrationClient(
75
+ {
76
+ endpointResolver: createCognitoUserPoolEndpointResolver({
77
+ endpointOverride: userPoolEndpoint,
78
+ }),
79
+ },
80
+ );
81
+
82
+ await completeWebAuthnRegistration(
83
+ {
84
+ region: getRegionFromUserPoolId(userPoolId),
85
+ userAgentValue: getAuthUserAgentValue(
86
+ AuthAction.CompleteWebAuthnRegistration,
87
+ ),
88
+ },
89
+ {
90
+ AccessToken: tokens.accessToken.toString(),
91
+ Credential: cred,
92
+ },
93
+ );
94
+ }
@@ -0,0 +1,24 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { Amplify } from '@aws-amplify/core';
5
+
6
+ import { DeleteWebAuthnCredentialException } from '../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
7
+ import { DeleteWebAuthnCredentialInput } from '../../foundation/types';
8
+ import { AuthError } from '../../errors/AuthError';
9
+ import { deleteWebAuthnCredential as deleteWebAuthnCredentialFoundation } from '../../foundation/apis';
10
+
11
+ /**
12
+ * Delete a registered credential for an authenticated user by credentialId
13
+ * @param {DeleteWebAuthnCredentialInput} input The delete input parameters including the credentialId
14
+ * @returns Promise<void>
15
+ * @throws - {@link AuthError}:
16
+ * - Thrown when user is unauthenticated
17
+ * @throws - {@link DeleteWebAuthnCredentialException}
18
+ * - Thrown due to a service error when deleting a WebAuthn credential
19
+ */
20
+ export async function deleteWebAuthnCredential(
21
+ input: DeleteWebAuthnCredentialInput,
22
+ ): Promise<void> {
23
+ return deleteWebAuthnCredentialFoundation(Amplify, input);
24
+ }
@@ -0,0 +1,6 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export { associateWebAuthnCredential } from './associateWebAuthnCredential';
5
+ export { listWebAuthnCredentials } from './listWebAuthnCredentials';
6
+ export { deleteWebAuthnCredential } from './deleteWebAuthnCredential';
@@ -0,0 +1,28 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { Amplify } from '@aws-amplify/core';
5
+
6
+ import { ListWebAuthnCredentialsException } from '../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
7
+ import {
8
+ ListWebAuthnCredentialsInput,
9
+ ListWebAuthnCredentialsOutput,
10
+ } from '../../foundation/types';
11
+ import { AuthError } from '../../errors/AuthError';
12
+ import { listWebAuthnCredentials as listWebAuthnCredentialsFoundation } from '../../foundation/apis';
13
+
14
+ /**
15
+ * Lists registered credentials for an authenticated user
16
+ *
17
+ * @param {ListWebAuthnCredentialsInput} input The list input parameters including page size and next token.
18
+ * @returns Promise<ListWebAuthnCredentialsOutput>
19
+ * @throws - {@link AuthError}:
20
+ * - Thrown when user is unauthenticated
21
+ * @throws - {@link ListWebAuthnCredentialsException}
22
+ * - Thrown due to a service error when listing WebAuthn credentials
23
+ */
24
+ export async function listWebAuthnCredentials(
25
+ input?: ListWebAuthnCredentialsInput,
26
+ ): Promise<ListWebAuthnCredentialsOutput> {
27
+ return listWebAuthnCredentialsFoundation(Amplify, input);
28
+ }
@@ -0,0 +1,123 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { CognitoUserPoolConfig } from '@aws-amplify/core';
5
+ import { AuthAction } from '@aws-amplify/core/internals/utils';
6
+
7
+ import { getUserContextData } from '../../../providers/cognito/utils/userContextData';
8
+ import { AuthTokenOrchestrator } from '../../../providers/cognito/tokenProvider/types';
9
+ import { AuthFlowType, ClientMetadata } from '../../../providers/cognito/types';
10
+ import {
11
+ ChallengeParameters,
12
+ InitiateAuthCommandInput,
13
+ RespondToAuthChallengeCommandOutput,
14
+ } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
15
+ import { getAuthenticationHelper } from '../../../providers/cognito/utils/srp';
16
+ import {
17
+ handlePasswordVerifierChallenge,
18
+ retryOnResourceNotFoundException,
19
+ setActiveSignInUsername,
20
+ } from '../../../providers/cognito/utils/signInHelpers';
21
+ import { createInitiateAuthClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';
22
+ import { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';
23
+ import { getRegionFromUserPoolId } from '../../../foundation/parsers';
24
+ import { getAuthUserAgentValue } from '../../../utils';
25
+ import { AuthFactorType } from '../../../providers/cognito/types/models';
26
+
27
+ interface HandlePasswordSRPInput {
28
+ username: string;
29
+ password: string;
30
+ clientMetadata: ClientMetadata | undefined;
31
+ config: CognitoUserPoolConfig;
32
+ tokenOrchestrator: AuthTokenOrchestrator;
33
+ authFlow: AuthFlowType;
34
+ preferredChallenge?: AuthFactorType;
35
+ }
36
+
37
+ /**
38
+ * Handles the Password SRP (Secure Remote Password) authentication flow.
39
+ * This function can be used with both USER_SRP_AUTH and USER_AUTH flows.
40
+ *
41
+ * @param {Object} params - The parameters for the Password SRP authentication
42
+ * @param {string} params.username - The username for authentication
43
+ * @param {string} params.password - The user's password
44
+ * @param {ClientMetadata} [params.clientMetadata] - Optional metadata to be sent with auth requests
45
+ * @param {CognitoUserPoolConfig} params.config - Cognito User Pool configuration
46
+ * @param {AuthTokenOrchestrator} params.tokenOrchestrator - Token orchestrator for managing auth tokens
47
+ * @param {AuthFlowType} params.authFlow - The type of authentication flow ('USER_SRP_AUTH' or 'USER_AUTH')
48
+ * @param {AuthFactorType} [params.preferredChallenge] - Optional preferred challenge type when using USER_AUTH flow
49
+ *
50
+ * @returns {Promise<RespondToAuthChallengeCommandOutput>} The authentication response
51
+ */
52
+ export async function handlePasswordSRP({
53
+ username,
54
+ password,
55
+ clientMetadata,
56
+ config,
57
+ tokenOrchestrator,
58
+ authFlow,
59
+ preferredChallenge,
60
+ }: HandlePasswordSRPInput): Promise<RespondToAuthChallengeCommandOutput> {
61
+ const { userPoolId, userPoolClientId, userPoolEndpoint } = config;
62
+ const userPoolName = userPoolId?.split('_')[1] || '';
63
+ const authenticationHelper = await getAuthenticationHelper(userPoolName);
64
+
65
+ const authParameters: Record<string, string> = {
66
+ USERNAME: username,
67
+ SRP_A: authenticationHelper.A.toString(16),
68
+ };
69
+
70
+ if (authFlow === 'USER_AUTH' && preferredChallenge) {
71
+ authParameters.PREFERRED_CHALLENGE = preferredChallenge;
72
+ }
73
+
74
+ const UserContextData = getUserContextData({
75
+ username,
76
+ userPoolId,
77
+ userPoolClientId,
78
+ });
79
+
80
+ const jsonReq: InitiateAuthCommandInput = {
81
+ AuthFlow: authFlow,
82
+ AuthParameters: authParameters,
83
+ ClientMetadata: clientMetadata,
84
+ ClientId: userPoolClientId,
85
+ UserContextData,
86
+ };
87
+
88
+ const initiateAuth = createInitiateAuthClient({
89
+ endpointResolver: createCognitoUserPoolEndpointResolver({
90
+ endpointOverride: userPoolEndpoint,
91
+ }),
92
+ });
93
+
94
+ const resp = await initiateAuth(
95
+ {
96
+ region: getRegionFromUserPoolId(userPoolId),
97
+ userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),
98
+ },
99
+ jsonReq,
100
+ );
101
+
102
+ const { ChallengeParameters: challengeParameters, Session: session } = resp;
103
+ const activeUsername = challengeParameters?.USERNAME ?? username;
104
+ setActiveSignInUsername(activeUsername);
105
+ if (resp.ChallengeName === 'PASSWORD_VERIFIER') {
106
+ return retryOnResourceNotFoundException(
107
+ handlePasswordVerifierChallenge,
108
+ [
109
+ password,
110
+ challengeParameters as ChallengeParameters,
111
+ clientMetadata,
112
+ session,
113
+ authenticationHelper,
114
+ config,
115
+ tokenOrchestrator,
116
+ ],
117
+ activeUsername,
118
+ tokenOrchestrator,
119
+ );
120
+ }
121
+
122
+ return resp;
123
+ }