@forgerock/davinci-client 1.2.0 → 2.0.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/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/client.store.d.ts +7 -7
- package/dist/src/lib/client.store.d.ts.map +1 -1
- package/dist/src/lib/client.store.js +65 -21
- package/dist/src/lib/client.store.js.map +1 -1
- package/dist/src/lib/client.store.utils.d.ts +2 -2
- package/dist/src/lib/client.types.d.ts +57 -5
- package/dist/src/lib/client.types.d.ts.map +1 -1
- package/dist/src/lib/collector.types.d.ts +93 -5
- package/dist/src/lib/collector.types.d.ts.map +1 -1
- package/dist/src/lib/collector.utils.d.ts +43 -6
- package/dist/src/lib/collector.utils.d.ts.map +1 -1
- package/dist/src/lib/collector.utils.js +216 -28
- package/dist/src/lib/collector.utils.js.map +1 -1
- package/dist/src/lib/config.types.d.ts +1 -5
- package/dist/src/lib/config.types.d.ts.map +1 -1
- package/dist/src/lib/config.types.js +6 -0
- package/dist/src/lib/config.types.js.map +1 -1
- package/dist/src/lib/davinci.api.d.ts.map +1 -1
- package/dist/src/lib/davinci.api.js +1 -0
- package/dist/src/lib/davinci.api.js.map +1 -1
- package/dist/src/lib/davinci.types.d.ts +52 -2
- package/dist/src/lib/davinci.types.d.ts.map +1 -1
- package/dist/src/lib/davinci.utils.d.ts.map +1 -1
- package/dist/src/lib/davinci.utils.js +3 -1
- package/dist/src/lib/davinci.utils.js.map +1 -1
- package/dist/src/lib/fido/fido.d.ts +27 -0
- package/dist/src/lib/fido/fido.d.ts.map +1 -0
- package/dist/src/lib/fido/fido.js +122 -0
- package/dist/src/lib/fido/fido.js.map +1 -0
- package/dist/src/lib/fido/fido.utils.d.ts +31 -0
- package/dist/src/lib/fido/fido.utils.d.ts.map +1 -0
- package/dist/src/lib/fido/fido.utils.js +115 -0
- package/dist/src/lib/fido/fido.utils.js.map +1 -0
- package/dist/src/lib/node.reducer.d.ts +4 -4
- package/dist/src/lib/node.reducer.d.ts.map +1 -1
- package/dist/src/lib/node.reducer.js +44 -7
- package/dist/src/lib/node.reducer.js.map +1 -1
- package/dist/src/lib/node.slice.d.ts +23 -5
- package/dist/src/lib/node.slice.d.ts.map +1 -1
- package/dist/src/lib/node.slice.js.map +1 -1
- package/dist/src/lib/node.types.d.ts +5 -4
- package/dist/src/lib/node.types.d.ts.map +1 -1
- package/dist/src/lib/wellknown.api.d.ts +222 -3
- package/dist/src/lib/wellknown.api.d.ts.map +1 -1
- package/dist/src/lib/wellknown.api.js +27 -8
- package/dist/src/lib/wellknown.api.js.map +1 -1
- package/dist/src/lib/wellknown.types.d.ts +5 -30
- package/dist/src/lib/wellknown.types.d.ts.map +1 -1
- package/dist/src/lib/wellknown.types.js +6 -0
- package/dist/src/lib/wellknown.types.js.map +1 -1
- package/dist/src/types.d.ts +9 -4
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +9 -7
- package/dist/src/lib/error.types.d.ts +0 -6
- package/dist/src/lib/error.types.d.ts.map +0 -1
- package/dist/src/lib/error.types.js +0 -2
- package/dist/src/lib/error.types.js.map +0 -1
|
@@ -114,13 +114,63 @@ export type PhoneNumberField = {
|
|
|
114
114
|
label: string;
|
|
115
115
|
defaultCountryCode: string | null;
|
|
116
116
|
required: boolean;
|
|
117
|
+
validatePhoneNumber: boolean;
|
|
118
|
+
};
|
|
119
|
+
export type ProtectField = {
|
|
120
|
+
type: 'PROTECT';
|
|
121
|
+
key: string;
|
|
122
|
+
behavioralDataCollection: boolean;
|
|
123
|
+
universalDeviceIdentification: boolean;
|
|
124
|
+
};
|
|
125
|
+
export interface FidoRegistrationOptions extends Omit<PublicKeyCredentialCreationOptions, 'challenge' | 'user' | 'pubKeyCredParams' | 'excludeCredentials'> {
|
|
126
|
+
challenge: number[];
|
|
127
|
+
user: {
|
|
128
|
+
id: number[];
|
|
129
|
+
name: string;
|
|
130
|
+
displayName: string;
|
|
131
|
+
};
|
|
132
|
+
pubKeyCredParams: {
|
|
133
|
+
alg: string | number;
|
|
134
|
+
type: PublicKeyCredentialType;
|
|
135
|
+
}[];
|
|
136
|
+
excludeCredentials?: {
|
|
137
|
+
id: number[];
|
|
138
|
+
transports?: AuthenticatorTransport[];
|
|
139
|
+
type: PublicKeyCredentialType;
|
|
140
|
+
}[];
|
|
141
|
+
}
|
|
142
|
+
export type FidoRegistrationField = {
|
|
143
|
+
type: 'FIDO2';
|
|
144
|
+
key: string;
|
|
145
|
+
label: string;
|
|
146
|
+
publicKeyCredentialCreationOptions: FidoRegistrationOptions;
|
|
147
|
+
action: 'REGISTER';
|
|
148
|
+
trigger: string;
|
|
149
|
+
required: boolean;
|
|
150
|
+
};
|
|
151
|
+
export interface FidoAuthenticationOptions extends Omit<PublicKeyCredentialRequestOptions, 'challenge' | 'allowCredentials'> {
|
|
152
|
+
challenge: number[];
|
|
153
|
+
allowCredentials?: {
|
|
154
|
+
id: number[];
|
|
155
|
+
transports?: AuthenticatorTransport[];
|
|
156
|
+
type: PublicKeyCredentialType;
|
|
157
|
+
}[];
|
|
158
|
+
}
|
|
159
|
+
export type FidoAuthenticationField = {
|
|
160
|
+
type: 'FIDO2';
|
|
161
|
+
key: string;
|
|
162
|
+
label: string;
|
|
163
|
+
publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
|
|
164
|
+
action: 'AUTHENTICATE';
|
|
165
|
+
trigger: string;
|
|
166
|
+
required: boolean;
|
|
117
167
|
};
|
|
118
168
|
export type UnknownField = Record<string, unknown>;
|
|
119
|
-
export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField;
|
|
169
|
+
export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | FidoRegistrationField | FidoAuthenticationField;
|
|
120
170
|
export type MultiValueFields = MultiSelectField;
|
|
121
171
|
export type ReadOnlyFields = ReadOnlyField;
|
|
122
172
|
export type RedirectFields = RedirectField;
|
|
123
|
-
export type SingleValueFields = StandardField | ValidatedField | SingleSelectField;
|
|
173
|
+
export type SingleValueFields = StandardField | ValidatedField | SingleSelectField | ProtectField;
|
|
124
174
|
export type DaVinciField = ComplexValueFields | MultiValueFields | ReadOnlyFields | RedirectFields | SingleValueFields;
|
|
125
175
|
/**
|
|
126
176
|
* Next or Continuation Response DaVinci API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"davinci.types.d.ts","sourceRoot":"","sources":["../../../src/lib/davinci.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"davinci.types.d.ts","sourceRoot":"","sources":["../../../src/lib/davinci.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"davinci.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/davinci.utils.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EACV,iBAAiB,EAIjB,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"davinci.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/davinci.utils.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EACV,iBAAiB,EAIjB,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,GAClC,cAAc,CAwChB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,GAClC,cAAc,CAahB;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,QA8IpC"}
|
|
@@ -9,7 +9,9 @@ export function transformSubmitRequest(node, logger) {
|
|
|
9
9
|
const collectors = node.client?.collectors?.filter((collector) => collector.category === 'MultiValueCollector' ||
|
|
10
10
|
collector.category === 'SingleValueCollector' ||
|
|
11
11
|
collector.category === 'ValidatedSingleValueCollector' ||
|
|
12
|
-
collector.category === 'ObjectValueCollector'
|
|
12
|
+
collector.category === 'ObjectValueCollector' ||
|
|
13
|
+
collector.category === 'SingleValueAutoCollector' ||
|
|
14
|
+
collector.category === 'ObjectValueAutoCollector');
|
|
13
15
|
const formData = collectors?.reduce((acc, collector) => {
|
|
14
16
|
acc[collector.input.key] = collector.input.value;
|
|
15
17
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"davinci.utils.js","sourceRoot":"","sources":["../../../src/lib/davinci.utils.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"davinci.utils.js","sourceRoot":"","sources":["../../../src/lib/davinci.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { GenericError } from '@forgerock/sdk-types';
|
|
2
|
+
import type { FidoAuthenticationInputValue, FidoRegistrationInputValue } from '../collector.types.js';
|
|
3
|
+
import type { FidoAuthenticationOptions, FidoRegistrationOptions } from '../davinci.types.js';
|
|
4
|
+
export interface FidoClient {
|
|
5
|
+
/**
|
|
6
|
+
* Create a keypair and get the public key credential to send back to DaVinci for registration
|
|
7
|
+
* @function register
|
|
8
|
+
* @param { FidoRegistrationOptions } options - DaVinci FIDO registration options
|
|
9
|
+
* @returns { Promise<FidoRegistrationInputValue | GenericError> } - The formatted credential for DaVinci or an error
|
|
10
|
+
*/
|
|
11
|
+
register: (options: FidoRegistrationOptions) => Promise<FidoRegistrationInputValue | GenericError>;
|
|
12
|
+
/**
|
|
13
|
+
* Get an assertion to send back to DaVinci for authentication
|
|
14
|
+
* @function authenticate
|
|
15
|
+
* @param { FidoAuthenticationOptions } options - DaVinci FIDO authentication options
|
|
16
|
+
* @returns { Promise<FidoAuthenticationInputValue | GenericError> } - The formatted assertion for DaVinci or an error
|
|
17
|
+
*/
|
|
18
|
+
authenticate: (options: FidoAuthenticationOptions) => Promise<FidoAuthenticationInputValue | GenericError>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A client function that returns a set of methods for transforming DaVinci data and
|
|
22
|
+
* interacting with the WebAuthn API for registration and authentication
|
|
23
|
+
* @function fido
|
|
24
|
+
* @returns {FidoClient} - A set of methods for FIDO registration and authentication
|
|
25
|
+
*/
|
|
26
|
+
export declare function fido(): FidoClient;
|
|
27
|
+
//# sourceMappingURL=fido.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fido.d.ts","sourceRoot":"","sources":["../../../../src/lib/fido/fido.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,QAAQ,EAAE,CACR,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,0BAA0B,GAAG,YAAY,CAAC,CAAC;IACxD;;;;;OAKG;IACH,YAAY,EAAE,CACZ,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,4BAA4B,GAAG,YAAY,CAAC,CAAC;CAC3D;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,IAAI,UAAU,CA2HjC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Ping Identity Corporation. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This software may be modified and distributed under the terms
|
|
5
|
+
* of the MIT license. See the LICENSE file for details.
|
|
6
|
+
*/
|
|
7
|
+
import { Micro } from 'effect';
|
|
8
|
+
import { exitIsFail, exitIsSuccess } from 'effect/Micro';
|
|
9
|
+
import { transformAssertion, transformAuthenticationOptions, transformPublicKeyCredential, transformRegistrationOptions, } from './fido.utils.js';
|
|
10
|
+
/**
|
|
11
|
+
* A client function that returns a set of methods for transforming DaVinci data and
|
|
12
|
+
* interacting with the WebAuthn API for registration and authentication
|
|
13
|
+
* @function fido
|
|
14
|
+
* @returns {FidoClient} - A set of methods for FIDO registration and authentication
|
|
15
|
+
*/
|
|
16
|
+
export function fido() {
|
|
17
|
+
return {
|
|
18
|
+
/**
|
|
19
|
+
* Call WebAuthn API to create keypair and get public key credential
|
|
20
|
+
*/
|
|
21
|
+
register: async function register(options) {
|
|
22
|
+
if (!options) {
|
|
23
|
+
return {
|
|
24
|
+
error: 'registration_error',
|
|
25
|
+
message: 'FIDO registration failed: No options available',
|
|
26
|
+
type: 'fido_error',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const createCredentialµ = Micro.sync(() => transformRegistrationOptions(options)).pipe(Micro.flatMap((publicKeyCredentialCreationOptions) => Micro.tryPromise({
|
|
30
|
+
try: () => navigator.credentials.create({
|
|
31
|
+
publicKey: publicKeyCredentialCreationOptions,
|
|
32
|
+
}),
|
|
33
|
+
catch: (error) => {
|
|
34
|
+
console.error('Failed to create keypair: ', error);
|
|
35
|
+
return {
|
|
36
|
+
error: 'registration_error',
|
|
37
|
+
message: 'FIDO registration failed',
|
|
38
|
+
type: 'fido_error',
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
})), Micro.flatMap((credential) => {
|
|
42
|
+
if (!credential) {
|
|
43
|
+
return Micro.fail({
|
|
44
|
+
error: 'registration_error',
|
|
45
|
+
message: 'FIDO registration failed: No credential returned',
|
|
46
|
+
type: 'fido_error',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const formattedCredential = transformPublicKeyCredential(credential);
|
|
51
|
+
return Micro.succeed(formattedCredential);
|
|
52
|
+
}
|
|
53
|
+
}));
|
|
54
|
+
const result = await Micro.runPromiseExit(createCredentialµ);
|
|
55
|
+
if (exitIsSuccess(result)) {
|
|
56
|
+
return result.value;
|
|
57
|
+
}
|
|
58
|
+
else if (exitIsFail(result)) {
|
|
59
|
+
return result.cause.error;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return {
|
|
63
|
+
error: 'fido_registration_error',
|
|
64
|
+
message: result.cause.message,
|
|
65
|
+
type: 'unknown_error',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* Call WebAuthn API to get assertion
|
|
71
|
+
*/
|
|
72
|
+
authenticate: async function authenticate(options) {
|
|
73
|
+
if (!options) {
|
|
74
|
+
return {
|
|
75
|
+
error: 'authentication_error',
|
|
76
|
+
message: 'FIDO authentication failed: No options available',
|
|
77
|
+
type: 'fido_error',
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const getAssertionµ = Micro.sync(() => transformAuthenticationOptions(options)).pipe(Micro.flatMap((publicKeyCredentialRequestOptions) => Micro.tryPromise({
|
|
81
|
+
try: () => navigator.credentials.get({
|
|
82
|
+
publicKey: publicKeyCredentialRequestOptions,
|
|
83
|
+
}),
|
|
84
|
+
catch: (error) => {
|
|
85
|
+
console.error('Failed to authenticate: ', error);
|
|
86
|
+
return {
|
|
87
|
+
error: 'authentication_error',
|
|
88
|
+
message: 'FIDO authentication failed',
|
|
89
|
+
type: 'fido_error',
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
})), Micro.flatMap((assertion) => {
|
|
93
|
+
if (!assertion) {
|
|
94
|
+
return Micro.fail({
|
|
95
|
+
error: 'authentication_error',
|
|
96
|
+
message: 'FIDO authentication failed: No credential returned',
|
|
97
|
+
type: 'fido_error',
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const formattedAssertion = transformAssertion(assertion);
|
|
102
|
+
return Micro.succeed(formattedAssertion);
|
|
103
|
+
}
|
|
104
|
+
}));
|
|
105
|
+
const result = await Micro.runPromiseExit(getAssertionµ);
|
|
106
|
+
if (exitIsSuccess(result)) {
|
|
107
|
+
return result.value;
|
|
108
|
+
}
|
|
109
|
+
else if (exitIsFail(result)) {
|
|
110
|
+
return result.cause.error;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
return {
|
|
114
|
+
error: 'fido_authentication_error',
|
|
115
|
+
message: result.cause.message,
|
|
116
|
+
type: 'unknown_error',
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=fido.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fido.js","sourceRoot":"","sources":["../../../../src/lib/fido/fido.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { FidoAuthenticationInputValue, FidoRegistrationInputValue } from '../collector.types.js';
|
|
2
|
+
import type { FidoAuthenticationOptions, FidoRegistrationOptions } from '../davinci.types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Convert DaVinci registration options to PublicKeyCredentialCreationOptions
|
|
5
|
+
* @function transformRegistrationOptions
|
|
6
|
+
* @param { FidoRegistrationOptions } options - DaVinci FIDO registration options
|
|
7
|
+
* @returns { PublicKeyCredentialCreationOptions } - WebAuthn API compatible registration options
|
|
8
|
+
*/
|
|
9
|
+
export declare function transformRegistrationOptions(options: FidoRegistrationOptions): PublicKeyCredentialCreationOptions;
|
|
10
|
+
/**
|
|
11
|
+
* Format the credential to send back to DaVinci for registration
|
|
12
|
+
* @function transformPublicKeyCredential
|
|
13
|
+
* @param { PublicKeyCredential } credential - The credential returned from navigator.credentials.create()
|
|
14
|
+
* @returns { FidoRegistrationInputValue } - The formatted credential for registering with DaVinci
|
|
15
|
+
*/
|
|
16
|
+
export declare function transformPublicKeyCredential(credential: PublicKeyCredential): FidoRegistrationInputValue;
|
|
17
|
+
/**
|
|
18
|
+
* Convert DaVinci authentication options to PublicKeyCredentialRequestOptions
|
|
19
|
+
* @function transformAuthenticationOptions
|
|
20
|
+
* @param { FidoAuthenticationOptions } options - DaVinci FIDO authentication options
|
|
21
|
+
* @returns { PublicKeyCredentialRequestOptions } - WebAuthn API compatible authentication options
|
|
22
|
+
*/
|
|
23
|
+
export declare function transformAuthenticationOptions(options: FidoAuthenticationOptions): PublicKeyCredentialRequestOptions;
|
|
24
|
+
/**
|
|
25
|
+
* Format the assertion to send back to DaVinci for authentication
|
|
26
|
+
* @function transformAssertion
|
|
27
|
+
* @param { PublicKeyCredential } credential - The credential returned from navigator.credentials.get()
|
|
28
|
+
* @returns { FidoAuthenticationInputValue } - The formatted credential for authenticating with DaVinci
|
|
29
|
+
*/
|
|
30
|
+
export declare function transformAssertion(credential: PublicKeyCredential): FidoAuthenticationInputValue;
|
|
31
|
+
//# sourceMappingURL=fido.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fido.utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/fido/fido.utils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAe9F;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,uBAAuB,GAC/B,kCAAkC,CAqBpC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,mBAAmB,GAC9B,0BAA0B,CAoB5B;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,yBAAyB,GACjC,iCAAiC,CAanC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,4BAA4B,CAyBhG"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
function convertArrayToBuffer(arr) {
|
|
2
|
+
return new Int8Array(arr).buffer;
|
|
3
|
+
}
|
|
4
|
+
function convertBufferToBase64(buffer) {
|
|
5
|
+
const byteArray = new Uint8Array(buffer);
|
|
6
|
+
let binaryString = '';
|
|
7
|
+
for (let i = 0; i < byteArray.byteLength; i++) {
|
|
8
|
+
binaryString += String.fromCharCode(byteArray[i]);
|
|
9
|
+
}
|
|
10
|
+
return btoa(binaryString);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Convert DaVinci registration options to PublicKeyCredentialCreationOptions
|
|
14
|
+
* @function transformRegistrationOptions
|
|
15
|
+
* @param { FidoRegistrationOptions } options - DaVinci FIDO registration options
|
|
16
|
+
* @returns { PublicKeyCredentialCreationOptions } - WebAuthn API compatible registration options
|
|
17
|
+
*/
|
|
18
|
+
export function transformRegistrationOptions(options) {
|
|
19
|
+
const pubKeyCredParams = options.pubKeyCredParams.map((param) => ({
|
|
20
|
+
type: param.type,
|
|
21
|
+
alg: typeof param.alg === 'string' ? parseInt(param.alg, 10) : param.alg,
|
|
22
|
+
}));
|
|
23
|
+
const excludeCredentials = options.excludeCredentials?.map((param) => ({
|
|
24
|
+
type: param.type,
|
|
25
|
+
id: convertArrayToBuffer(param.id),
|
|
26
|
+
transports: param.transports,
|
|
27
|
+
}));
|
|
28
|
+
return {
|
|
29
|
+
...options,
|
|
30
|
+
challenge: convertArrayToBuffer(options.challenge),
|
|
31
|
+
user: {
|
|
32
|
+
...options.user,
|
|
33
|
+
id: convertArrayToBuffer(options.user.id),
|
|
34
|
+
},
|
|
35
|
+
pubKeyCredParams,
|
|
36
|
+
excludeCredentials,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Format the credential to send back to DaVinci for registration
|
|
41
|
+
* @function transformPublicKeyCredential
|
|
42
|
+
* @param { PublicKeyCredential } credential - The credential returned from navigator.credentials.create()
|
|
43
|
+
* @returns { FidoRegistrationInputValue } - The formatted credential for registering with DaVinci
|
|
44
|
+
*/
|
|
45
|
+
export function transformPublicKeyCredential(credential) {
|
|
46
|
+
const credentialResponse = credential.response;
|
|
47
|
+
const clientDataJSON = convertBufferToBase64(credentialResponse.clientDataJSON);
|
|
48
|
+
const attestationObject = convertBufferToBase64(credentialResponse.attestationObject);
|
|
49
|
+
const rawId = convertBufferToBase64(credential.rawId);
|
|
50
|
+
return {
|
|
51
|
+
attestationValue: {
|
|
52
|
+
...credential,
|
|
53
|
+
id: credential.id,
|
|
54
|
+
rawId,
|
|
55
|
+
type: credential.type,
|
|
56
|
+
authenticatorAttachment: credential.authenticatorAttachment,
|
|
57
|
+
response: {
|
|
58
|
+
...credentialResponse,
|
|
59
|
+
clientDataJSON,
|
|
60
|
+
attestationObject,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Convert DaVinci authentication options to PublicKeyCredentialRequestOptions
|
|
67
|
+
* @function transformAuthenticationOptions
|
|
68
|
+
* @param { FidoAuthenticationOptions } options - DaVinci FIDO authentication options
|
|
69
|
+
* @returns { PublicKeyCredentialRequestOptions } - WebAuthn API compatible authentication options
|
|
70
|
+
*/
|
|
71
|
+
export function transformAuthenticationOptions(options) {
|
|
72
|
+
const allowCredentials = options.allowCredentials?.map((param) => ({
|
|
73
|
+
id: convertArrayToBuffer(param.id),
|
|
74
|
+
type: param.type,
|
|
75
|
+
transports: param.transports,
|
|
76
|
+
}));
|
|
77
|
+
const challenge = convertArrayToBuffer(options.challenge);
|
|
78
|
+
return {
|
|
79
|
+
...options,
|
|
80
|
+
challenge,
|
|
81
|
+
allowCredentials,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Format the assertion to send back to DaVinci for authentication
|
|
86
|
+
* @function transformAssertion
|
|
87
|
+
* @param { PublicKeyCredential } credential - The credential returned from navigator.credentials.get()
|
|
88
|
+
* @returns { FidoAuthenticationInputValue } - The formatted credential for authenticating with DaVinci
|
|
89
|
+
*/
|
|
90
|
+
export function transformAssertion(credential) {
|
|
91
|
+
const credentialResponse = credential.response;
|
|
92
|
+
const clientDataJSON = convertBufferToBase64(credentialResponse.clientDataJSON);
|
|
93
|
+
const authenticatorData = convertBufferToBase64(credentialResponse.authenticatorData);
|
|
94
|
+
const signature = convertBufferToBase64(credentialResponse.signature);
|
|
95
|
+
const userHandle = credentialResponse.userHandle
|
|
96
|
+
? convertBufferToBase64(credentialResponse.userHandle)
|
|
97
|
+
: null;
|
|
98
|
+
const rawId = convertBufferToBase64(credential.rawId);
|
|
99
|
+
return {
|
|
100
|
+
assertionValue: {
|
|
101
|
+
...credential,
|
|
102
|
+
id: credential.id,
|
|
103
|
+
rawId,
|
|
104
|
+
type: credential.type,
|
|
105
|
+
response: {
|
|
106
|
+
...credentialResponse,
|
|
107
|
+
clientDataJSON,
|
|
108
|
+
authenticatorData,
|
|
109
|
+
signature,
|
|
110
|
+
userHandle,
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=fido.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fido.utils.js","sourceRoot":"","sources":["../../../../src/lib/fido/fido.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DaVinciField } from './davinci.types.js';
|
|
2
|
-
import { ActionCollector, MultiSelectCollector, SingleSelectCollector, FlowCollector, PasswordCollector, SingleValueCollector, IdpCollector, SubmitCollector, TextCollector, ReadOnlyCollector, ValidatedTextCollector, DeviceAuthenticationCollector, DeviceRegistrationCollector, PhoneNumberCollector, PhoneNumberInputValue, UnknownCollector } from './collector.types.js';
|
|
2
|
+
import type { ActionCollector, MultiSelectCollector, SingleSelectCollector, FlowCollector, PasswordCollector, SingleValueCollector, IdpCollector, SubmitCollector, TextCollector, ReadOnlyCollector, ValidatedTextCollector, DeviceAuthenticationCollector, DeviceRegistrationCollector, PhoneNumberCollector, PhoneNumberInputValue, UnknownCollector, ProtectCollector, FidoRegistrationCollector, FidoAuthenticationCollector, FidoAuthenticationInputValue, FidoRegistrationInputValue } from './collector.types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @const nextCollectorValues - Action for setting the next collector values
|
|
5
5
|
* @see https://redux-toolkit.js.org/api/createAction
|
|
@@ -14,14 +14,14 @@ export declare const nextCollectorValues: import("@reduxjs/toolkit").ActionCreat
|
|
|
14
14
|
}, string>;
|
|
15
15
|
export declare const updateCollectorValues: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
16
16
|
id: string;
|
|
17
|
-
value: string | string[] | PhoneNumberInputValue;
|
|
17
|
+
value: string | string[] | PhoneNumberInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
|
|
18
18
|
index?: number;
|
|
19
19
|
}, string>;
|
|
20
20
|
/**
|
|
21
21
|
* @const nodeCollectorReducer - Reducer for handling the collector values
|
|
22
22
|
* @see https://redux-toolkit.js.org/api/createReducer
|
|
23
23
|
*/
|
|
24
|
-
export declare const nodeCollectorReducer: import("@reduxjs/toolkit").Reducer<(TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | ReadOnlyCollector | UnknownCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[]> & {
|
|
25
|
-
getInitialState: () => (TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | ReadOnlyCollector | UnknownCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[];
|
|
24
|
+
export declare const nodeCollectorReducer: import("@reduxjs/toolkit").Reducer<(TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | ReadOnlyCollector | UnknownCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[]> & {
|
|
25
|
+
getInitialState: () => (TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | ReadOnlyCollector | UnknownCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[];
|
|
26
26
|
};
|
|
27
27
|
//# sourceMappingURL=node.reducer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.reducer.d.ts","sourceRoot":"","sources":["../../../src/lib/node.reducer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.reducer.d.ts","sourceRoot":"","sources":["../../../src/lib/node.reducer.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EAErB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAE9B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;YACtB,YAAY,EAAE;cACZ;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;UAC/B,CAAC;AAChB,eAAO,MAAM,qBAAqB;QAC5B,MAAM;WAEN,MAAM,GACN,MAAM,EAAE,GACR,qBAAqB,GACrB,0BAA0B,GAC1B,4BAA4B;YACxB,MAAM;UACC,CAAC;AA0BlB;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;CA2N/B,CAAC"}
|
|
@@ -11,7 +11,7 @@ import { createAction, createReducer } from '@reduxjs/toolkit';
|
|
|
11
11
|
/**
|
|
12
12
|
* Import the collector utilities
|
|
13
13
|
*/
|
|
14
|
-
import { returnActionCollector, returnFlowCollector, returnPasswordCollector, returnIdpCollector, returnSubmitCollector, returnTextCollector, returnSingleSelectCollector, returnMultiSelectCollector, returnReadOnlyCollector, returnObjectSelectCollector, returnObjectValueCollector, returnUnknownCollector, } from './collector.utils.js';
|
|
14
|
+
import { returnActionCollector, returnFlowCollector, returnPasswordCollector, returnIdpCollector, returnSubmitCollector, returnTextCollector, returnSingleSelectCollector, returnMultiSelectCollector, returnReadOnlyCollector, returnObjectSelectCollector, returnObjectValueCollector, returnProtectCollector, returnUnknownCollector, returnFidoRegistrationCollector, returnFidoAuthenticationCollector, } from './collector.utils.js';
|
|
15
15
|
/**
|
|
16
16
|
* @const nextCollectorValues - Action for setting the next collector values
|
|
17
17
|
* @see https://redux-toolkit.js.org/api/createAction
|
|
@@ -82,8 +82,8 @@ export const nodeCollectorReducer = createReducer(initialCollectorValues, (build
|
|
|
82
82
|
return returnPasswordCollector(field, idx);
|
|
83
83
|
}
|
|
84
84
|
case 'PHONE_NUMBER': {
|
|
85
|
-
|
|
86
|
-
return returnObjectValueCollector(field, idx);
|
|
85
|
+
const prefillData = data;
|
|
86
|
+
return returnObjectValueCollector(field, idx, prefillData);
|
|
87
87
|
}
|
|
88
88
|
case 'TEXT': {
|
|
89
89
|
const str = data;
|
|
@@ -97,6 +97,18 @@ export const nodeCollectorReducer = createReducer(initialCollectorValues, (build
|
|
|
97
97
|
// No data to send
|
|
98
98
|
return returnSubmitCollector(field, idx);
|
|
99
99
|
}
|
|
100
|
+
case 'PROTECT': {
|
|
101
|
+
return returnProtectCollector(field, idx);
|
|
102
|
+
}
|
|
103
|
+
case 'FIDO2': {
|
|
104
|
+
if (field.action === 'REGISTER') {
|
|
105
|
+
return returnFidoRegistrationCollector(field, idx);
|
|
106
|
+
}
|
|
107
|
+
else if (field.action === 'AUTHENTICATE') {
|
|
108
|
+
return returnFidoAuthenticationCollector(field, idx);
|
|
109
|
+
}
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
100
112
|
default:
|
|
101
113
|
// Default is handled below
|
|
102
114
|
}
|
|
@@ -112,8 +124,8 @@ export const nodeCollectorReducer = createReducer(initialCollectorValues, (build
|
|
|
112
124
|
})
|
|
113
125
|
/**
|
|
114
126
|
* Using the `updateCollectorValues` const (e.g. `'node/update'`) to add the case
|
|
115
|
-
* 'node/
|
|
116
|
-
* transformed to `'node/
|
|
127
|
+
* 'node/update' is essentially derived `createSlice` below. `node.update()` is
|
|
128
|
+
* transformed to `'node/update'` for the action type.
|
|
117
129
|
*/
|
|
118
130
|
.addCase(updateCollectorValues, (state, action) => {
|
|
119
131
|
const collector = state.find((collector) => collector.id === action.payload.id);
|
|
@@ -130,9 +142,10 @@ export const nodeCollectorReducer = createReducer(initialCollectorValues, (build
|
|
|
130
142
|
throw new Error('Value argument cannot be undefined');
|
|
131
143
|
}
|
|
132
144
|
if (collector.category === 'SingleValueCollector' ||
|
|
133
|
-
collector.category === 'ValidatedSingleValueCollector'
|
|
145
|
+
collector.category === 'ValidatedSingleValueCollector' ||
|
|
146
|
+
collector.type === 'ProtectCollector') {
|
|
134
147
|
if (typeof action.payload.value !== 'string') {
|
|
135
|
-
throw new Error('
|
|
148
|
+
throw new Error('Value argument must be a string');
|
|
136
149
|
}
|
|
137
150
|
collector.input.value = action.payload.value;
|
|
138
151
|
return;
|
|
@@ -188,6 +201,30 @@ export const nodeCollectorReducer = createReducer(initialCollectorValues, (build
|
|
|
188
201
|
}
|
|
189
202
|
collector.input.value = action.payload.value;
|
|
190
203
|
}
|
|
204
|
+
if (collector.type === 'FidoRegistrationCollector') {
|
|
205
|
+
if (typeof action.payload.id !== 'string') {
|
|
206
|
+
throw new Error('Index argument must be a string');
|
|
207
|
+
}
|
|
208
|
+
if (typeof action.payload.value !== 'object') {
|
|
209
|
+
throw new Error('Value argument must be an object');
|
|
210
|
+
}
|
|
211
|
+
if (!('attestationValue' in action.payload.value)) {
|
|
212
|
+
throw new Error('Value argument must contain an attestationValue property');
|
|
213
|
+
}
|
|
214
|
+
collector.input.value = action.payload.value;
|
|
215
|
+
}
|
|
216
|
+
if (collector.type === 'FidoAuthenticationCollector') {
|
|
217
|
+
if (typeof action.payload.id !== 'string') {
|
|
218
|
+
throw new Error('Index argument must be a string');
|
|
219
|
+
}
|
|
220
|
+
if (typeof action.payload.value !== 'object') {
|
|
221
|
+
throw new Error('Value argument must be an object');
|
|
222
|
+
}
|
|
223
|
+
if (!('assertionValue' in action.payload.value)) {
|
|
224
|
+
throw new Error('Value argument must contain an assertionValue property');
|
|
225
|
+
}
|
|
226
|
+
collector.input.value = action.payload.value;
|
|
227
|
+
}
|
|
191
228
|
});
|
|
192
229
|
});
|
|
193
230
|
//# sourceMappingURL=node.reducer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.reducer.js","sourceRoot":"","sources":["../../../src/lib/node.reducer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;GAEG;AACH,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"node.reducer.js","sourceRoot":"","sources":["../../../src/lib/node.reducer.ts"],"names":[],"mappings":"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"}
|