@aws-amplify/auth 6.15.1 → 6.15.2-unstable.42b6d67.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.
- package/dist/cjs/client/utils/index.js +2 -1
- package/dist/cjs/client/utils/index.js.map +1 -1
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyAuthenticationError.js +34 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyAuthenticationError.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyAuthenticationError.native.js +44 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyAuthenticationError.native.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyError.js +47 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyError.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyError.native.js +46 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyError.native.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyRegistrationError.js +45 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyRegistrationError.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyRegistrationError.native.js +55 -0
- package/dist/cjs/client/utils/passkey/errors/handlePasskeyRegistrationError.native.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/index.js +15 -0
- package/dist/cjs/client/utils/passkey/errors/index.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/passkeyError.js +82 -0
- package/dist/cjs/client/utils/passkey/errors/passkeyError.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/passkeyErrorPlatformConstants.js +8 -0
- package/dist/cjs/client/utils/passkey/errors/passkeyErrorPlatformConstants.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors/passkeyErrorPlatformConstants.native.js +8 -0
- package/dist/cjs/client/utils/passkey/errors/passkeyErrorPlatformConstants.native.js.map +1 -0
- package/dist/cjs/client/utils/passkey/getIsPasskeySupported.native.js +2 -2
- package/dist/cjs/client/utils/passkey/getIsPasskeySupported.native.js.map +1 -1
- package/dist/cjs/client/utils/passkey/getPasskey.native.js +9 -3
- package/dist/cjs/client/utils/passkey/getPasskey.native.js.map +1 -1
- package/dist/cjs/client/utils/passkey/registerPasskey.native.js +9 -3
- package/dist/cjs/client/utils/passkey/registerPasskey.native.js.map +1 -1
- package/dist/cjs/index.js +2 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithRedirect.js +3 -0
- package/dist/cjs/providers/cognito/apis/signInWithRedirect.js.map +1 -1
- package/dist/esm/client/apis/associateWebAuthnCredential.mjs +1 -1
- package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.mjs +1 -1
- package/dist/esm/client/utils/index.d.ts +1 -1
- package/dist/esm/client/utils/index.mjs +1 -2
- package/dist/esm/client/utils/index.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/errors/handlePasskeyAuthenticationError.d.ts +9 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyAuthenticationError.mjs +32 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyAuthenticationError.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyAuthenticationError.native.d.ts +8 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyAuthenticationError.native.mjs +42 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyAuthenticationError.native.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyError.d.ts +10 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyError.mjs +45 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyError.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyError.native.d.ts +8 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyError.native.mjs +44 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyError.native.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyRegistrationError.d.ts +9 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyRegistrationError.mjs +43 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyRegistrationError.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyRegistrationError.native.d.ts +8 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyRegistrationError.native.mjs +53 -0
- package/dist/esm/client/utils/passkey/errors/handlePasskeyRegistrationError.native.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/index.d.ts +3 -0
- package/dist/esm/client/utils/passkey/errors/index.mjs +4 -0
- package/dist/esm/client/utils/passkey/errors/index.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/{errors.d.ts → errors/passkeyError.d.ts} +2 -17
- package/dist/esm/client/utils/passkey/errors/passkeyError.mjs +80 -0
- package/dist/esm/client/utils/passkey/errors/passkeyError.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/passkeyErrorPlatformConstants.d.ts +1 -0
- package/dist/esm/client/utils/passkey/errors/passkeyErrorPlatformConstants.mjs +6 -0
- package/dist/esm/client/utils/passkey/errors/passkeyErrorPlatformConstants.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors/passkeyErrorPlatformConstants.native.d.ts +1 -0
- package/dist/esm/client/utils/passkey/errors/passkeyErrorPlatformConstants.native.mjs +6 -0
- package/dist/esm/client/utils/passkey/errors/passkeyErrorPlatformConstants.native.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.d.ts +1 -1
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.mjs +2 -2
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/getPasskey.mjs +3 -1
- package/dist/esm/client/utils/passkey/getPasskey.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/getPasskey.native.d.ts +2 -1
- package/dist/esm/client/utils/passkey/getPasskey.native.mjs +11 -3
- package/dist/esm/client/utils/passkey/getPasskey.native.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/registerPasskey.mjs +3 -1
- package/dist/esm/client/utils/passkey/registerPasskey.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/registerPasskey.native.d.ts +2 -1
- package/dist/esm/client/utils/passkey/registerPasskey.native.mjs +11 -3
- package/dist/esm/client/utils/passkey/registerPasskey.native.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/types/index.mjs +2 -1
- package/dist/esm/client/utils/passkey/types/index.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/types/shared.d.ts +4 -4
- package/dist/esm/client/utils/passkey/types/shared.mjs +2 -1
- package/dist/esm/client/utils/passkey/types/shared.mjs.map +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/providers/cognito/apis/signInWithRedirect.mjs +3 -0
- package/dist/esm/providers/cognito/apis/signInWithRedirect.mjs.map +1 -1
- package/package.json +111 -105
- package/src/client/utils/index.ts +1 -1
- package/src/client/utils/passkey/errors/handlePasskeyAuthenticationError.native.ts +54 -0
- package/src/client/utils/passkey/errors/handlePasskeyAuthenticationError.ts +40 -0
- package/src/client/utils/passkey/errors/handlePasskeyError.native.ts +53 -0
- package/src/client/utils/passkey/errors/handlePasskeyError.ts +53 -0
- package/src/client/utils/passkey/errors/handlePasskeyRegistrationError.native.ts +66 -0
- package/src/client/utils/passkey/errors/handlePasskeyRegistrationError.ts +52 -0
- package/src/client/utils/passkey/errors/index.ts +10 -0
- package/src/client/utils/passkey/errors/passkeyError.ts +96 -0
- package/src/client/utils/passkey/errors/passkeyErrorPlatformConstants.native.ts +5 -0
- package/src/client/utils/passkey/errors/passkeyErrorPlatformConstants.ts +5 -0
- package/src/client/utils/passkey/getIsPasskeySupported.native.ts +2 -2
- package/src/client/utils/passkey/getPasskey.native.ts +12 -3
- package/src/client/utils/passkey/registerPasskey.native.ts +12 -3
- package/src/client/utils/passkey/types/shared.ts +4 -4
- package/src/index.ts +1 -2
- package/src/providers/cognito/apis/signInWithRedirect.ts +3 -0
- package/dist/cjs/client/utils/passkey/errors.js +0 -180
- package/dist/cjs/client/utils/passkey/errors.js.map +0 -1
- package/dist/esm/client/utils/passkey/errors.mjs +0 -176
- package/dist/esm/client/utils/passkey/errors.mjs.map +0 -1
- package/src/client/utils/passkey/errors.ts +0 -214
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { createAssertionFunction, AmplifyError } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { NOT_SUPPORTED_RECOVERY_SUGGESTION } from './passkeyErrorPlatformConstants.mjs';
|
|
3
|
+
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
class PasskeyError extends AmplifyError {
|
|
7
|
+
constructor(params) {
|
|
8
|
+
super(params);
|
|
9
|
+
// Hack for making the custom error class work when transpiled to es5
|
|
10
|
+
// TODO: Delete the following 2 lines after we change the build target to >= es2015
|
|
11
|
+
this.constructor = PasskeyError;
|
|
12
|
+
Object.setPrototypeOf(this, PasskeyError.prototype);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
var PasskeyErrorCode;
|
|
16
|
+
(function (PasskeyErrorCode) {
|
|
17
|
+
// not supported
|
|
18
|
+
PasskeyErrorCode["PasskeyNotSupported"] = "PasskeyNotSupported";
|
|
19
|
+
// duplicate passkey
|
|
20
|
+
PasskeyErrorCode["PasskeyAlreadyExists"] = "PasskeyAlreadyExists";
|
|
21
|
+
// misconfigurations
|
|
22
|
+
PasskeyErrorCode["InvalidPasskeyRegistrationOptions"] = "InvalidPasskeyRegistrationOptions";
|
|
23
|
+
PasskeyErrorCode["InvalidPasskeyAuthenticationOptions"] = "InvalidPasskeyAuthenticationOptions";
|
|
24
|
+
PasskeyErrorCode["RelyingPartyMismatch"] = "RelyingPartyMismatch";
|
|
25
|
+
// failed credential creation / retrieval
|
|
26
|
+
PasskeyErrorCode["PasskeyRegistrationFailed"] = "PasskeyRegistrationFailed";
|
|
27
|
+
PasskeyErrorCode["PasskeyRetrievalFailed"] = "PasskeyRetrievalFailed";
|
|
28
|
+
// cancel / aborts
|
|
29
|
+
PasskeyErrorCode["PasskeyRegistrationCanceled"] = "PasskeyRegistrationCanceled";
|
|
30
|
+
PasskeyErrorCode["PasskeyAuthenticationCanceled"] = "PasskeyAuthenticationCanceled";
|
|
31
|
+
PasskeyErrorCode["PasskeyOperationAborted"] = "PasskeyOperationAborted";
|
|
32
|
+
})(PasskeyErrorCode || (PasskeyErrorCode = {}));
|
|
33
|
+
const ABORT_OR_CANCEL_RECOVERY_SUGGESTION = 'User may have canceled the ceremony or another interruption has occurred. Check underlying error for details.';
|
|
34
|
+
const MISCONFIGURATION_RECOVERY_SUGGESTION = 'Ensure your user pool is configured to support the WEB_AUTHN as an authentication factor.';
|
|
35
|
+
const passkeyErrorMap = {
|
|
36
|
+
[PasskeyErrorCode.PasskeyNotSupported]: {
|
|
37
|
+
message: 'Passkeys may not be supported on this device.',
|
|
38
|
+
recoverySuggestion: NOT_SUPPORTED_RECOVERY_SUGGESTION,
|
|
39
|
+
},
|
|
40
|
+
[PasskeyErrorCode.InvalidPasskeyRegistrationOptions]: {
|
|
41
|
+
message: 'Invalid passkey registration options.',
|
|
42
|
+
recoverySuggestion: MISCONFIGURATION_RECOVERY_SUGGESTION,
|
|
43
|
+
},
|
|
44
|
+
[PasskeyErrorCode.InvalidPasskeyAuthenticationOptions]: {
|
|
45
|
+
message: 'Invalid passkey authentication options.',
|
|
46
|
+
recoverySuggestion: MISCONFIGURATION_RECOVERY_SUGGESTION,
|
|
47
|
+
},
|
|
48
|
+
[PasskeyErrorCode.PasskeyRegistrationFailed]: {
|
|
49
|
+
message: 'Device failed to create passkey.',
|
|
50
|
+
recoverySuggestion: NOT_SUPPORTED_RECOVERY_SUGGESTION,
|
|
51
|
+
},
|
|
52
|
+
[PasskeyErrorCode.PasskeyRetrievalFailed]: {
|
|
53
|
+
message: 'Device failed to retrieve passkey.',
|
|
54
|
+
recoverySuggestion: 'Passkeys may not be available on this device. Try an alternative authentication factor like PASSWORD, EMAIL_OTP, or SMS_OTP.',
|
|
55
|
+
},
|
|
56
|
+
[PasskeyErrorCode.PasskeyAlreadyExists]: {
|
|
57
|
+
message: 'Passkey already exists in authenticator.',
|
|
58
|
+
recoverySuggestion: 'Proceed with existing passkey or try again after deleting the credential.',
|
|
59
|
+
},
|
|
60
|
+
[PasskeyErrorCode.PasskeyRegistrationCanceled]: {
|
|
61
|
+
message: 'Passkey registration ceremony has been canceled.',
|
|
62
|
+
recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,
|
|
63
|
+
},
|
|
64
|
+
[PasskeyErrorCode.PasskeyAuthenticationCanceled]: {
|
|
65
|
+
message: 'Passkey authentication ceremony has been canceled.',
|
|
66
|
+
recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,
|
|
67
|
+
},
|
|
68
|
+
[PasskeyErrorCode.PasskeyOperationAborted]: {
|
|
69
|
+
message: 'Passkey operation has been aborted.',
|
|
70
|
+
recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,
|
|
71
|
+
},
|
|
72
|
+
[PasskeyErrorCode.RelyingPartyMismatch]: {
|
|
73
|
+
message: 'Relying party does not match current domain.',
|
|
74
|
+
recoverySuggestion: 'Ensure relying party identifier matches current domain.',
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
const assertPasskeyError = createAssertionFunction(passkeyErrorMap, PasskeyError);
|
|
78
|
+
|
|
79
|
+
export { PasskeyError, PasskeyErrorCode, assertPasskeyError, passkeyErrorMap };
|
|
80
|
+
//# sourceMappingURL=passkeyError.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkeyError.mjs","sources":["../../../../../../src/client/utils/passkey/errors/passkeyError.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError, createAssertionFunction, } from '@aws-amplify/core/internals/utils';\nimport { NOT_SUPPORTED_RECOVERY_SUGGESTION } from './passkeyErrorPlatformConstants';\nexport class PasskeyError extends 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}\nexport var 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 || (PasskeyErrorCode = {}));\nconst ABORT_OR_CANCEL_RECOVERY_SUGGESTION = 'User may have canceled the ceremony or another interruption has occurred. Check underlying error for details.';\nconst MISCONFIGURATION_RECOVERY_SUGGESTION = 'Ensure your user pool is configured to support the WEB_AUTHN as an authentication factor.';\nexport const passkeyErrorMap = {\n [PasskeyErrorCode.PasskeyNotSupported]: {\n message: 'Passkeys may not be supported on this device.',\n recoverySuggestion: NOT_SUPPORTED_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.InvalidPasskeyRegistrationOptions]: {\n message: 'Invalid passkey registration options.',\n recoverySuggestion: MISCONFIGURATION_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.InvalidPasskeyAuthenticationOptions]: {\n message: 'Invalid passkey authentication options.',\n recoverySuggestion: MISCONFIGURATION_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.PasskeyRegistrationFailed]: {\n message: 'Device failed to create passkey.',\n recoverySuggestion: NOT_SUPPORTED_RECOVERY_SUGGESTION,\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: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.PasskeyAuthenticationCanceled]: {\n message: 'Passkey authentication ceremony has been canceled.',\n recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.PasskeyOperationAborted]: {\n message: 'Passkey operation has been aborted.',\n recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.RelyingPartyMismatch]: {\n message: 'Relying party does not match current domain.',\n recoverySuggestion: 'Ensure relying party identifier matches current domain.',\n },\n};\nexport const assertPasskeyError = createAssertionFunction(passkeyErrorMap, PasskeyError);\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const NOT_SUPPORTED_RECOVERY_SUGGESTION = "Passkeys may not be supported on this device. Ensure your application is running in a secure context (HTTPS) and Web Authentication API is supported.";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
const NOT_SUPPORTED_RECOVERY_SUGGESTION = 'Passkeys may not be supported on this device. Ensure your application is running in a secure context (HTTPS) and Web Authentication API is supported.';
|
|
4
|
+
|
|
5
|
+
export { NOT_SUPPORTED_RECOVERY_SUGGESTION };
|
|
6
|
+
//# sourceMappingURL=passkeyErrorPlatformConstants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkeyErrorPlatformConstants.mjs","sources":["../../../../../../src/client/utils/passkey/errors/passkeyErrorPlatformConstants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const NOT_SUPPORTED_RECOVERY_SUGGESTION = 'Passkeys may not be supported on this device. Ensure your application is running in a secure context (HTTPS) and Web Authentication API is supported.';\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,iCAAiC,GAAG;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const NOT_SUPPORTED_RECOVERY_SUGGESTION = "Passkeys may not be supported on this device. Ensure your application is running on a supported platform.";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
const NOT_SUPPORTED_RECOVERY_SUGGESTION = 'Passkeys may not be supported on this device. Ensure your application is running on a supported platform.';
|
|
4
|
+
|
|
5
|
+
export { NOT_SUPPORTED_RECOVERY_SUGGESTION };
|
|
6
|
+
//# sourceMappingURL=passkeyErrorPlatformConstants.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkeyErrorPlatformConstants.native.mjs","sources":["../../../../../../src/client/utils/passkey/errors/passkeyErrorPlatformConstants.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const NOT_SUPPORTED_RECOVERY_SUGGESTION = 'Passkeys may not be supported on this device. Ensure your application is running on a supported platform.';\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,iCAAiC,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getIsPasskeySupported: () =>
|
|
1
|
+
export declare const getIsPasskeySupported: () => boolean;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { loadAmplifyRtnPasskeys } from '@aws-amplify/react-native';
|
|
2
2
|
|
|
3
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
const getIsPasskeySupported = () => {
|
|
6
|
-
|
|
6
|
+
return loadAmplifyRtnPasskeys().getIsPasskeySupported();
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
export { getIsPasskeySupported };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsPasskeySupported.native.mjs","sources":["../../../../../src/client/utils/passkey/getIsPasskeySupported.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {
|
|
1
|
+
{"version":3,"file":"getIsPasskeySupported.native.mjs","sources":["../../../../../src/client/utils/passkey/getIsPasskeySupported.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { loadAmplifyRtnPasskeys } from '@aws-amplify/react-native';\nexport const getIsPasskeySupported = () => {\n return loadAmplifyRtnPasskeys().getIsPasskeySupported();\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEY,MAAC,qBAAqB,GAAG,MAAM;AAC3C,IAAI,OAAO,sBAAsB,EAAE,CAAC,qBAAqB,EAAE;AAC3D;;;;"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { handlePasskeyAuthenticationError } from './errors/handlePasskeyAuthenticationError.mjs';
|
|
2
|
+
import '@aws-amplify/core/internals/utils';
|
|
3
|
+
import { assertPasskeyError, PasskeyErrorCode } from './errors/passkeyError.mjs';
|
|
2
4
|
import { getIsPasskeySupported } from './getIsPasskeySupported.mjs';
|
|
3
5
|
import { deserializeJsonToPkcGetOptions, serializePkcWithAssertionToJson } from './serde.mjs';
|
|
4
6
|
import { assertCredentialIsPkcWithAuthenticatorAssertionResponse } from './types/index.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPasskey.mjs","sources":["../../../../../src/client/utils/passkey/getPasskey.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PasskeyErrorCode, assertPasskeyError, handlePasskeyAuthenticationError, } from './errors';\nimport { getIsPasskeySupported } from './getIsPasskeySupported';\nimport { deserializeJsonToPkcGetOptions, serializePkcWithAssertionToJson, } from './serde';\nimport { assertCredentialIsPkcWithAuthenticatorAssertionResponse, } from './types';\nexport const getPasskey = async (input) => {\n try {\n const isPasskeySupported = getIsPasskeySupported();\n assertPasskeyError(isPasskeySupported, PasskeyErrorCode.PasskeyNotSupported);\n const passkeyGetOptions = deserializeJsonToPkcGetOptions(input);\n const credential = await navigator.credentials.get({\n publicKey: passkeyGetOptions,\n });\n assertCredentialIsPkcWithAuthenticatorAssertionResponse(credential);\n return serializePkcWithAssertionToJson(credential);\n }\n catch (err) {\n throw handlePasskeyAuthenticationError(err);\n }\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPasskey.mjs","sources":["../../../../../src/client/utils/passkey/getPasskey.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PasskeyErrorCode, assertPasskeyError, handlePasskeyAuthenticationError, } from './errors';\nimport { getIsPasskeySupported } from './getIsPasskeySupported';\nimport { deserializeJsonToPkcGetOptions, serializePkcWithAssertionToJson, } from './serde';\nimport { assertCredentialIsPkcWithAuthenticatorAssertionResponse, } from './types';\nexport const getPasskey = async (input) => {\n try {\n const isPasskeySupported = getIsPasskeySupported();\n assertPasskeyError(isPasskeySupported, PasskeyErrorCode.PasskeyNotSupported);\n const passkeyGetOptions = deserializeJsonToPkcGetOptions(input);\n const credential = await navigator.credentials.get({\n publicKey: passkeyGetOptions,\n });\n assertCredentialIsPkcWithAuthenticatorAssertionResponse(credential);\n return serializePkcWithAssertionToJson(credential);\n }\n catch (err) {\n throw handlePasskeyAuthenticationError(err);\n }\n};\n"],"names":[],"mappings":";;;;;;;AAAA;AACA;AAKY,MAAC,UAAU,GAAG,OAAO,KAAK,KAAK;AAC3C,IAAI,IAAI;AACR,QAAQ,MAAM,kBAAkB,GAAG,qBAAqB,EAAE;AAC1D,QAAQ,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;AACpF,QAAQ,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,KAAK,CAAC;AACvE,QAAQ,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;AAC3D,YAAY,SAAS,EAAE,iBAAiB;AACxC,SAAS,CAAC;AACV,QAAQ,uDAAuD,CAAC,UAAU,CAAC;AAC3E,QAAQ,OAAO,+BAA+B,CAAC,UAAU,CAAC;AAC1D,IAAI;AACJ,IAAI,OAAO,GAAG,EAAE;AAChB,QAAQ,MAAM,gCAAgC,CAAC,GAAG,CAAC;AACnD,IAAI;AACJ;;;;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { PasskeyGetOptionsJson, PasskeyGetResultJson } from './types';
|
|
2
|
+
export declare const getPasskey: (input: PasskeyGetOptionsJson) => Promise<PasskeyGetResultJson>;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { loadAmplifyRtnPasskeys } from '@aws-amplify/react-native';
|
|
2
|
+
import { handlePasskeyAuthenticationError } from './errors/handlePasskeyAuthenticationError.mjs';
|
|
3
|
+
import '@aws-amplify/core/internals/utils';
|
|
4
|
+
import './errors/passkeyError.mjs';
|
|
2
5
|
|
|
3
6
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
7
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
const getPasskey = async () => {
|
|
6
|
-
|
|
8
|
+
const getPasskey = async (input) => {
|
|
9
|
+
try {
|
|
10
|
+
return await loadAmplifyRtnPasskeys().getPasskey(input);
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
throw handlePasskeyAuthenticationError(err);
|
|
14
|
+
}
|
|
7
15
|
};
|
|
8
16
|
|
|
9
17
|
export { getPasskey };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPasskey.native.mjs","sources":["../../../../../src/client/utils/passkey/getPasskey.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {
|
|
1
|
+
{"version":3,"file":"getPasskey.native.mjs","sources":["../../../../../src/client/utils/passkey/getPasskey.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { loadAmplifyRtnPasskeys } from '@aws-amplify/react-native';\nimport { handlePasskeyAuthenticationError } from './errors';\nexport const getPasskey = async (input) => {\n try {\n return await loadAmplifyRtnPasskeys().getPasskey(input);\n }\n catch (err) {\n throw handlePasskeyAuthenticationError(err);\n }\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAGY,MAAC,UAAU,GAAG,OAAO,KAAK,KAAK;AAC3C,IAAI,IAAI;AACR,QAAQ,OAAO,MAAM,sBAAsB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/D,IAAI;AACJ,IAAI,OAAO,GAAG,EAAE;AAChB,QAAQ,MAAM,gCAAgC,CAAC,GAAG,CAAC;AACnD,IAAI;AACJ;;;;"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { assertCredentialIsPkcWithAuthenticatorAttestationResponse } from './types/index.mjs';
|
|
2
2
|
import { deserializeJsonToPkcCreationOptions, serializePkcWithAttestationToJson } from './serde.mjs';
|
|
3
|
-
import
|
|
3
|
+
import '@aws-amplify/core/internals/utils';
|
|
4
|
+
import { assertPasskeyError, PasskeyErrorCode } from './errors/passkeyError.mjs';
|
|
5
|
+
import { handlePasskeyRegistrationError } from './errors/handlePasskeyRegistrationError.mjs';
|
|
4
6
|
import { getIsPasskeySupported } from './getIsPasskeySupported.mjs';
|
|
5
7
|
|
|
6
8
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerPasskey.mjs","sources":["../../../../../src/client/utils/passkey/registerPasskey.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertCredentialIsPkcWithAuthenticatorAttestationResponse, } from './types';\nimport { deserializeJsonToPkcCreationOptions, serializePkcWithAttestationToJson, } from './serde';\nimport { PasskeyErrorCode, assertPasskeyError, handlePasskeyRegistrationError, } from './errors';\nimport { getIsPasskeySupported } from './getIsPasskeySupported';\n/**\n * Registers a new passkey for user\n * @param input - PasskeyCreateOptionsJson\n * @returns serialized PasskeyCreateResult\n */\nexport const registerPasskey = async (input) => {\n try {\n const isPasskeySupported = getIsPasskeySupported();\n assertPasskeyError(isPasskeySupported, PasskeyErrorCode.PasskeyNotSupported);\n const passkeyCreationOptions = deserializeJsonToPkcCreationOptions(input);\n const credential = await navigator.credentials.create({\n publicKey: passkeyCreationOptions,\n });\n assertCredentialIsPkcWithAuthenticatorAttestationResponse(credential);\n return serializePkcWithAttestationToJson(credential);\n }\n catch (err) {\n throw handlePasskeyRegistrationError(err);\n }\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerPasskey.mjs","sources":["../../../../../src/client/utils/passkey/registerPasskey.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertCredentialIsPkcWithAuthenticatorAttestationResponse, } from './types';\nimport { deserializeJsonToPkcCreationOptions, serializePkcWithAttestationToJson, } from './serde';\nimport { PasskeyErrorCode, assertPasskeyError, handlePasskeyRegistrationError, } from './errors';\nimport { getIsPasskeySupported } from './getIsPasskeySupported';\n/**\n * Registers a new passkey for user\n * @param input - PasskeyCreateOptionsJson\n * @returns serialized PasskeyCreateResult\n */\nexport const registerPasskey = async (input) => {\n try {\n const isPasskeySupported = getIsPasskeySupported();\n assertPasskeyError(isPasskeySupported, PasskeyErrorCode.PasskeyNotSupported);\n const passkeyCreationOptions = deserializeJsonToPkcCreationOptions(input);\n const credential = await navigator.credentials.create({\n publicKey: passkeyCreationOptions,\n });\n assertCredentialIsPkcWithAuthenticatorAttestationResponse(credential);\n return serializePkcWithAttestationToJson(credential);\n }\n catch (err) {\n throw handlePasskeyRegistrationError(err);\n }\n};\n"],"names":[],"mappings":";;;;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG,OAAO,KAAK,KAAK;AAChD,IAAI,IAAI;AACR,QAAQ,MAAM,kBAAkB,GAAG,qBAAqB,EAAE;AAC1D,QAAQ,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;AACpF,QAAQ,MAAM,sBAAsB,GAAG,mCAAmC,CAAC,KAAK,CAAC;AACjF,QAAQ,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAC9D,YAAY,SAAS,EAAE,sBAAsB;AAC7C,SAAS,CAAC;AACV,QAAQ,yDAAyD,CAAC,UAAU,CAAC;AAC7E,QAAQ,OAAO,iCAAiC,CAAC,UAAU,CAAC;AAC5D,IAAI;AACJ,IAAI,OAAO,GAAG,EAAE;AAChB,QAAQ,MAAM,8BAA8B,CAAC,GAAG,CAAC;AACjD,IAAI;AACJ;;;;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { PasskeyCreateOptionsJson, PasskeyCreateResultJson } from './types';
|
|
2
|
+
export declare const registerPasskey: (input: PasskeyCreateOptionsJson) => Promise<PasskeyCreateResultJson>;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { loadAmplifyRtnPasskeys } from '@aws-amplify/react-native';
|
|
2
|
+
import '@aws-amplify/core/internals/utils';
|
|
3
|
+
import './errors/passkeyError.mjs';
|
|
4
|
+
import { handlePasskeyRegistrationError } from './errors/handlePasskeyRegistrationError.mjs';
|
|
2
5
|
|
|
3
6
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
7
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
const registerPasskey = async () => {
|
|
6
|
-
|
|
8
|
+
const registerPasskey = async (input) => {
|
|
9
|
+
try {
|
|
10
|
+
return await loadAmplifyRtnPasskeys().createPasskey(input);
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
throw handlePasskeyRegistrationError(err);
|
|
14
|
+
}
|
|
7
15
|
};
|
|
8
16
|
|
|
9
17
|
export { registerPasskey };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerPasskey.native.mjs","sources":["../../../../../src/client/utils/passkey/registerPasskey.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {
|
|
1
|
+
{"version":3,"file":"registerPasskey.native.mjs","sources":["../../../../../src/client/utils/passkey/registerPasskey.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { loadAmplifyRtnPasskeys } from '@aws-amplify/react-native';\nimport { handlePasskeyRegistrationError } from './errors';\nexport const registerPasskey = async (input) => {\n try {\n return await loadAmplifyRtnPasskeys().createPasskey(input);\n }\n catch (err) {\n throw handlePasskeyRegistrationError(err);\n }\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAGY,MAAC,eAAe,GAAG,OAAO,KAAK,KAAK;AAChD,IAAI,IAAI;AACR,QAAQ,OAAO,MAAM,sBAAsB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;AAClE,IAAI;AACJ,IAAI,OAAO,GAAG,EAAE;AAChB,QAAQ,MAAM,8BAA8B,CAAC,GAAG,CAAC;AACjD,IAAI;AACJ;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { assertPasskeyError, PasskeyErrorCode } from '../errors/passkeyError.mjs';
|
|
2
3
|
export { assertValidCredentialCreationOptions } from './shared.mjs';
|
|
3
4
|
|
|
4
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../src/client/utils/passkey/types/index.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PasskeyErrorCode, assertPasskeyError } from '../errors';\n/**\n * Passkey Create Types\n */\nexport { assertValidCredentialCreationOptions, } from './shared';\nexport function assertCredentialIsPkcWithAuthenticatorAttestationResponse(credential) {\n assertPasskeyError(credential &&\n credential instanceof PublicKeyCredential &&\n credential.response instanceof AuthenticatorAttestationResponse, PasskeyErrorCode.PasskeyRegistrationFailed);\n}\nexport function assertCredentialIsPkcWithAuthenticatorAssertionResponse(credential) {\n assertPasskeyError(credential &&\n credential instanceof PublicKeyCredential &&\n credential.response instanceof AuthenticatorAssertionResponse, PasskeyErrorCode.PasskeyRetrievalFailed);\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../src/client/utils/passkey/types/index.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PasskeyErrorCode, assertPasskeyError } from '../errors';\n/**\n * Passkey Create Types\n */\nexport { assertValidCredentialCreationOptions, } from './shared';\nexport function assertCredentialIsPkcWithAuthenticatorAttestationResponse(credential) {\n assertPasskeyError(credential &&\n credential instanceof PublicKeyCredential &&\n credential.response instanceof AuthenticatorAttestationResponse, PasskeyErrorCode.PasskeyRegistrationFailed);\n}\nexport function assertCredentialIsPkcWithAuthenticatorAssertionResponse(credential) {\n assertPasskeyError(credential &&\n credential instanceof PublicKeyCredential &&\n credential.response instanceof AuthenticatorAssertionResponse, PasskeyErrorCode.PasskeyRetrievalFailed);\n}\n"],"names":[],"mappings":";;;;AAAA;AACA;AAMO,SAAS,yDAAyD,CAAC,UAAU,EAAE;AACtF,IAAI,kBAAkB,CAAC,UAAU;AACjC,QAAQ,UAAU,YAAY,mBAAmB;AACjD,QAAQ,UAAU,CAAC,QAAQ,YAAY,gCAAgC,EAAE,gBAAgB,CAAC,yBAAyB,CAAC;AACpH;AACO,SAAS,uDAAuD,CAAC,UAAU,EAAE;AACpF,IAAI,kBAAkB,CAAC,UAAU;AACjC,QAAQ,UAAU,YAAY,mBAAmB;AACjD,QAAQ,UAAU,CAAC,QAAQ,YAAY,8BAA8B,EAAE,gBAAgB,CAAC,sBAAsB,CAAC;AAC/G;;;;"}
|
|
@@ -43,8 +43,8 @@ export interface PkcAttestationResponse<T> {
|
|
|
43
43
|
attestationObject: T;
|
|
44
44
|
transports: string[];
|
|
45
45
|
publicKey?: string;
|
|
46
|
-
publicKeyAlgorithm
|
|
47
|
-
authenticatorData
|
|
46
|
+
publicKeyAlgorithm?: number;
|
|
47
|
+
authenticatorData?: T;
|
|
48
48
|
}
|
|
49
49
|
export interface PasskeyCreateResult {
|
|
50
50
|
id: string;
|
|
@@ -56,7 +56,7 @@ export interface PasskeyCreateResultJson {
|
|
|
56
56
|
id: string;
|
|
57
57
|
rawId: string;
|
|
58
58
|
type: string;
|
|
59
|
-
clientExtensionResults
|
|
59
|
+
clientExtensionResults?: {
|
|
60
60
|
appId?: boolean;
|
|
61
61
|
credProps?: {
|
|
62
62
|
rk?: boolean;
|
|
@@ -93,7 +93,7 @@ export interface PasskeyGetResultJson {
|
|
|
93
93
|
id: string;
|
|
94
94
|
rawId: string;
|
|
95
95
|
type: string;
|
|
96
|
-
clientExtensionResults
|
|
96
|
+
clientExtensionResults?: {
|
|
97
97
|
appId?: boolean;
|
|
98
98
|
credProps?: {
|
|
99
99
|
rk?: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { assertPasskeyError, PasskeyErrorCode } from '../errors/passkeyError.mjs';
|
|
2
3
|
|
|
3
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.mjs","sources":["../../../../../../src/client/utils/passkey/types/shared.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PasskeyErrorCode, assertPasskeyError } from '../errors';\nexport function assertValidCredentialCreationOptions(credentialCreationOptions) {\n assertPasskeyError([\n !!credentialCreationOptions,\n !!credentialCreationOptions?.challenge,\n !!credentialCreationOptions?.user,\n !!credentialCreationOptions?.rp,\n !!credentialCreationOptions?.pubKeyCredParams,\n ].every(Boolean), PasskeyErrorCode.InvalidPasskeyRegistrationOptions);\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.mjs","sources":["../../../../../../src/client/utils/passkey/types/shared.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PasskeyErrorCode, assertPasskeyError } from '../errors';\nexport function assertValidCredentialCreationOptions(credentialCreationOptions) {\n assertPasskeyError([\n !!credentialCreationOptions,\n !!credentialCreationOptions?.challenge,\n !!credentialCreationOptions?.user,\n !!credentialCreationOptions?.rp,\n !!credentialCreationOptions?.pubKeyCredParams,\n ].every(Boolean), PasskeyErrorCode.InvalidPasskeyRegistrationOptions);\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAEO,SAAS,oCAAoC,CAAC,yBAAyB,EAAE;AAChF,IAAI,kBAAkB,CAAC;AACvB,QAAQ,CAAC,CAAC,yBAAyB;AACnC,QAAQ,CAAC,CAAC,yBAAyB,EAAE,SAAS;AAC9C,QAAQ,CAAC,CAAC,yBAAyB,EAAE,IAAI;AACzC,QAAQ,CAAC,CAAC,yBAAyB,EAAE,EAAE;AACvC,QAAQ,CAAC,CAAC,yBAAyB,EAAE,gBAAgB;AACrD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,iCAAiC,CAAC;AACzE;;;;"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -3,6 +3,5 @@ export { ConfirmResetPasswordInput, ConfirmSignInInput, ConfirmSignUpInput, Conf
|
|
|
3
3
|
export { FetchUserAttributesOutput, GetCurrentUserOutput, ConfirmSignInOutput, ConfirmSignUpOutput, FetchMFAPreferenceOutput, ResendSignUpCodeOutput, ResetPasswordOutput, SetUpTOTPOutput, SignInOutput, SignUpOutput, UpdateUserAttributesOutput, SendUserAttributeVerificationCodeOutput, UpdateUserAttributeOutput, FetchDevicesOutput, } from './providers/cognito';
|
|
4
4
|
export { AuthError } from './errors/AuthError';
|
|
5
5
|
export { fetchAuthSession, FetchAuthSessionOptions, AuthSession, decodeJWT, CredentialsAndIdentityIdProvider, GetCredentialsOptions, CredentialsAndIdentityId, TokenProvider, AuthTokens, JWT, } from '@aws-amplify/core';
|
|
6
|
-
export { associateWebAuthnCredential } from './client/apis';
|
|
7
|
-
export { listWebAuthnCredentials, deleteWebAuthnCredential, } from './client/apis';
|
|
6
|
+
export { associateWebAuthnCredential, listWebAuthnCredentials, deleteWebAuthnCredential, } from './client/apis';
|
|
8
7
|
export { AuthWebAuthnCredential, DeleteWebAuthnCredentialInput, ListWebAuthnCredentialsInput, ListWebAuthnCredentialsOutput, } from './foundation/types';
|
|
@@ -108,6 +108,9 @@ const oauthSignIn = async ({ oauthConfig, provider, clientId, customState, prefe
|
|
|
108
108
|
if (type === 'error') {
|
|
109
109
|
throw createOAuthError(String(error));
|
|
110
110
|
}
|
|
111
|
+
if (type === 'canceled') {
|
|
112
|
+
throw createOAuthError(String(type));
|
|
113
|
+
}
|
|
111
114
|
if (type === 'success' && url) {
|
|
112
115
|
await completeOAuthFlow({
|
|
113
116
|
currentUrl: url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signInWithRedirect.mjs","sources":["../../../../../src/providers/cognito/apis/signInWithRedirect.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AuthAction, assertOAuthConfig, assertTokenProviderConfig, isBrowser, urlSafeEncode, } from '@aws-amplify/core/internals/utils';\nimport '../utils/oauth/enableOAuthListener';\nimport { cognitoHostedUIIdentityProviderMap } from '../types/models';\nimport { openAuthSession as _openAuthSession, getAuthUserAgentValue, } from '../../../utils';\nimport { assertUserNotAuthenticated } from '../utils/signInHelpers';\nimport { completeOAuthFlow, generateCodeVerifier, generateState, getRedirectUrl, handleFailure, oAuthStore, } from '../utils/oauth';\nimport { createOAuthError } from '../utils/oauth/createOAuthError';\nimport { listenForOAuthFlowCancellation } from '../utils/oauth/cancelOAuthFlow';\n/**\n * Signs in a user with OAuth. Redirects the application to an Identity Provider.\n *\n * @param input - The SignInWithRedirectInput object, if empty it will redirect to Cognito HostedUI\n *\n * @throws AuthTokenConfigException - Thrown when the user pool config is invalid.\n * @throws OAuthNotConfigureException - Thrown when the oauth config is invalid.\n */\nexport async function signInWithRedirect(input) {\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n assertOAuthConfig(authConfig);\n oAuthStore.setAuthConfig(authConfig);\n if (!input?.options?.prompt) {\n await assertUserNotAuthenticated();\n }\n let provider = 'COGNITO'; // Default\n if (typeof input?.provider === 'string') {\n provider = cognitoHostedUIIdentityProviderMap[input.provider];\n }\n else if (input?.provider?.custom) {\n provider = input.provider.custom;\n }\n return oauthSignIn({\n oauthConfig: authConfig.loginWith.oauth,\n clientId: authConfig.userPoolClientId,\n provider,\n customState: input?.customState,\n preferPrivateSession: input?.options?.preferPrivateSession,\n options: {\n loginHint: input?.options?.loginHint,\n lang: input?.options?.lang,\n nonce: input?.options?.nonce,\n prompt: input?.options?.prompt,\n },\n authSessionOpener: input?.options?.authSessionOpener,\n });\n}\nconst oauthSignIn = async ({ oauthConfig, provider, clientId, customState, preferPrivateSession, options, authSessionOpener, }) => {\n const { domain, redirectSignIn, responseType, scopes } = oauthConfig;\n const { loginHint, lang, nonce, prompt } = options ?? {};\n const randomState = generateState();\n const openAuthSession = authSessionOpener || _openAuthSession;\n /* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito\n single-encodes/decodes url on first sign in and double-encodes/decodes url\n when user already signed in. Using encodeURIComponent, Base32, Base64 add\n characters % or = which on further encoding becomes unsafe. '=' create issue\n for parsing query params.\n Refer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n const state = customState\n ? `${randomState}-${urlSafeEncode(customState)}`\n : randomState;\n const { value, method, toCodeChallenge } = generateCodeVerifier(128);\n const redirectUri = getRedirectUrl(oauthConfig.redirectSignIn);\n if (isBrowser())\n oAuthStore.storeOAuthInFlight(true);\n oAuthStore.storeOAuthState(state);\n oAuthStore.storePKCE(value);\n const params = new URLSearchParams([\n ['redirect_uri', redirectUri],\n ['response_type', responseType],\n ['client_id', clientId],\n ['identity_provider', provider],\n ['scope', scopes.join(' ')],\n ]);\n loginHint && params.append('login_hint', loginHint);\n lang && params.append('lang', lang);\n nonce && params.append('nonce', nonce);\n prompt && params.append('prompt', prompt.toLowerCase());\n params.append('state', state);\n if (responseType === 'code') {\n params.append('code_challenge', toCodeChallenge());\n params.append('code_challenge_method', method);\n }\n // Using URL object is not supported in React Native as the `search` property is read-only\n // See: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Blob/URL.js\n const oAuthUrl = `https://${domain}/oauth2/authorize?${params.toString()}`;\n // this will only take effect in the following scenarios:\n // 1. the user cancels the OAuth flow on web via back button, and\n // 2. when bfcache is enabled\n listenForOAuthFlowCancellation(oAuthStore);\n // the following is effective only in react-native as openAuthSession resolves only in react-native\n const { type, error, url } = (await openAuthSession(oAuthUrl, redirectSignIn, preferPrivateSession)) ??\n {};\n try {\n if (type === 'error') {\n throw createOAuthError(String(error));\n }\n if (type === 'success' && url) {\n await completeOAuthFlow({\n currentUrl: url,\n clientId,\n domain,\n redirectUri,\n responseType,\n userAgentValue: getAuthUserAgentValue(AuthAction.SignInWithRedirect),\n preferPrivateSession,\n });\n }\n }\n catch (err) {\n await handleFailure(err);\n // rethrow the error so it can be caught by `await signInWithRedirect()` in react-native\n throw err;\n }\n};\n"],"names":["openAuthSession","_openAuthSession"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signInWithRedirect.mjs","sources":["../../../../../src/providers/cognito/apis/signInWithRedirect.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AuthAction, assertOAuthConfig, assertTokenProviderConfig, isBrowser, urlSafeEncode, } from '@aws-amplify/core/internals/utils';\nimport '../utils/oauth/enableOAuthListener';\nimport { cognitoHostedUIIdentityProviderMap } from '../types/models';\nimport { openAuthSession as _openAuthSession, getAuthUserAgentValue, } from '../../../utils';\nimport { assertUserNotAuthenticated } from '../utils/signInHelpers';\nimport { completeOAuthFlow, generateCodeVerifier, generateState, getRedirectUrl, handleFailure, oAuthStore, } from '../utils/oauth';\nimport { createOAuthError } from '../utils/oauth/createOAuthError';\nimport { listenForOAuthFlowCancellation } from '../utils/oauth/cancelOAuthFlow';\n/**\n * Signs in a user with OAuth. Redirects the application to an Identity Provider.\n *\n * @param input - The SignInWithRedirectInput object, if empty it will redirect to Cognito HostedUI\n *\n * @throws AuthTokenConfigException - Thrown when the user pool config is invalid.\n * @throws OAuthNotConfigureException - Thrown when the oauth config is invalid.\n */\nexport async function signInWithRedirect(input) {\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n assertOAuthConfig(authConfig);\n oAuthStore.setAuthConfig(authConfig);\n if (!input?.options?.prompt) {\n await assertUserNotAuthenticated();\n }\n let provider = 'COGNITO'; // Default\n if (typeof input?.provider === 'string') {\n provider = cognitoHostedUIIdentityProviderMap[input.provider];\n }\n else if (input?.provider?.custom) {\n provider = input.provider.custom;\n }\n return oauthSignIn({\n oauthConfig: authConfig.loginWith.oauth,\n clientId: authConfig.userPoolClientId,\n provider,\n customState: input?.customState,\n preferPrivateSession: input?.options?.preferPrivateSession,\n options: {\n loginHint: input?.options?.loginHint,\n lang: input?.options?.lang,\n nonce: input?.options?.nonce,\n prompt: input?.options?.prompt,\n },\n authSessionOpener: input?.options?.authSessionOpener,\n });\n}\nconst oauthSignIn = async ({ oauthConfig, provider, clientId, customState, preferPrivateSession, options, authSessionOpener, }) => {\n const { domain, redirectSignIn, responseType, scopes } = oauthConfig;\n const { loginHint, lang, nonce, prompt } = options ?? {};\n const randomState = generateState();\n const openAuthSession = authSessionOpener || _openAuthSession;\n /* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito\n single-encodes/decodes url on first sign in and double-encodes/decodes url\n when user already signed in. Using encodeURIComponent, Base32, Base64 add\n characters % or = which on further encoding becomes unsafe. '=' create issue\n for parsing query params.\n Refer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n const state = customState\n ? `${randomState}-${urlSafeEncode(customState)}`\n : randomState;\n const { value, method, toCodeChallenge } = generateCodeVerifier(128);\n const redirectUri = getRedirectUrl(oauthConfig.redirectSignIn);\n if (isBrowser())\n oAuthStore.storeOAuthInFlight(true);\n oAuthStore.storeOAuthState(state);\n oAuthStore.storePKCE(value);\n const params = new URLSearchParams([\n ['redirect_uri', redirectUri],\n ['response_type', responseType],\n ['client_id', clientId],\n ['identity_provider', provider],\n ['scope', scopes.join(' ')],\n ]);\n loginHint && params.append('login_hint', loginHint);\n lang && params.append('lang', lang);\n nonce && params.append('nonce', nonce);\n prompt && params.append('prompt', prompt.toLowerCase());\n params.append('state', state);\n if (responseType === 'code') {\n params.append('code_challenge', toCodeChallenge());\n params.append('code_challenge_method', method);\n }\n // Using URL object is not supported in React Native as the `search` property is read-only\n // See: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Blob/URL.js\n const oAuthUrl = `https://${domain}/oauth2/authorize?${params.toString()}`;\n // this will only take effect in the following scenarios:\n // 1. the user cancels the OAuth flow on web via back button, and\n // 2. when bfcache is enabled\n listenForOAuthFlowCancellation(oAuthStore);\n // the following is effective only in react-native as openAuthSession resolves only in react-native\n const { type, error, url } = (await openAuthSession(oAuthUrl, redirectSignIn, preferPrivateSession)) ??\n {};\n try {\n if (type === 'error') {\n throw createOAuthError(String(error));\n }\n if (type === 'canceled') {\n throw createOAuthError(String(type));\n }\n if (type === 'success' && url) {\n await completeOAuthFlow({\n currentUrl: url,\n clientId,\n domain,\n redirectUri,\n responseType,\n userAgentValue: getAuthUserAgentValue(AuthAction.SignInWithRedirect),\n preferPrivateSession,\n });\n }\n }\n catch (err) {\n await handleFailure(err);\n // rethrow the error so it can be caught by `await signInWithRedirect()` in react-native\n throw err;\n }\n};\n"],"names":["openAuthSession","_openAuthSession"],"mappings":"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"}
|