@sparkvault/sdk-mobile 0.2.0 → 0.3.1
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/README.md +6 -7
- package/dist/auth.d.ts +5 -1
- package/dist/auth.js +16 -9
- package/dist/auth.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/identity-dialog.js +50 -26
- package/dist/identity-dialog.js.map +1 -1
- package/dist/types.d.ts +4 -6
- package/package.json +1 -1
- package/src/auth.ts +29 -13
- package/src/config.ts +1 -1
- package/src/identity-dialog.tsx +56 -31
- package/src/types.ts +4 -6
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ import { createSparkVaultMobileClient } from '@sparkvault/sdk-mobile';
|
|
|
17
17
|
export const sparkVault = createSparkVaultMobileClient({
|
|
18
18
|
tokenStorage,
|
|
19
19
|
apiBaseUrl: 'https://api.sparkvault.com/v1',
|
|
20
|
-
identityBaseUrl: 'https://api.sparkvault.com/v1/
|
|
20
|
+
identityBaseUrl: 'https://api.sparkvault.com/v1/products/identity',
|
|
21
21
|
identityAccountId: 'acc_00000000000000000000000000000000',
|
|
22
22
|
userAgent: 'SparkVault/1.0.0 (Mobile)',
|
|
23
23
|
fetch: xhrFetch,
|
|
@@ -80,7 +80,7 @@ The SDK depends on `tweetnacl` for Ed25519 Identity JWT verification and declare
|
|
|
80
80
|
|
|
81
81
|
## Identity Dialog
|
|
82
82
|
|
|
83
|
-
`SparkVaultIdentityDialog` is the mobile equivalent of the web SDK Identity popup. It fetches Identity
|
|
83
|
+
`SparkVaultIdentityDialog` is the mobile equivalent of the web SDK Identity popup. It fetches Identity Product config, derives email/phone input from enabled delivery methods, offers enabled mobile-supported methods (`passkey`, `totp_email`, `totp_sms`, `totp_voice`), applies configured branding and light/dark mode, and returns the raw signed Identity JWT plus JWKS metadata. Passkey authentication is discoverable and routes by the SVID in the WebAuthn user handle.
|
|
84
84
|
|
|
85
85
|
```tsx
|
|
86
86
|
import * as Passkey from 'react-native-passkeys';
|
|
@@ -93,11 +93,10 @@ const passkeyProvider: MobilePasskeyProvider = {
|
|
|
93
93
|
isSupported: () => Passkey.isSupported(),
|
|
94
94
|
authenticate: async (options) => {
|
|
95
95
|
const credential = await Passkey.get({
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
userVerification: options.userVerification,
|
|
96
|
+
challenge: options.challenge,
|
|
97
|
+
timeout: options.timeout,
|
|
98
|
+
rpId: options.rpId,
|
|
99
|
+
userVerification: options.userVerification,
|
|
101
100
|
});
|
|
102
101
|
|
|
103
102
|
return credential
|
package/dist/auth.d.ts
CHANGED
|
@@ -35,11 +35,15 @@ export declare class MobileAuthClient {
|
|
|
35
35
|
checkPasskeyStatus(identity: string, identityType?: IdentityType): Promise<{
|
|
36
36
|
hasPasskey: boolean;
|
|
37
37
|
}>;
|
|
38
|
-
getPasskeyAuthOptions(
|
|
38
|
+
getPasskeyAuthOptions(_identity?: string, _identityType?: IdentityType): Promise<PasskeyAuthChallenge>;
|
|
39
39
|
completePasskeyAuthentication(credential: PasskeyCredential, session: PasskeySession): Promise<IdentityVerifyResult>;
|
|
40
40
|
verifyPasskeyAuth(credential: PasskeyCredential, session: PasskeySession): Promise<PinVerifyResponse>;
|
|
41
41
|
getPasskeyRegisterOptions(params?: {
|
|
42
|
+
identity?: string;
|
|
43
|
+
identityType?: IdentityType;
|
|
42
44
|
email?: string;
|
|
45
|
+
phone?: string;
|
|
46
|
+
registrationToken?: string;
|
|
43
47
|
deviceName?: string;
|
|
44
48
|
}): Promise<PasskeyRegisterChallenge>;
|
|
45
49
|
registerPasskey(credential: PasskeyCredential, session: PasskeySession): Promise<{
|
package/dist/auth.js
CHANGED
|
@@ -74,7 +74,7 @@ export class MobileAuthClient {
|
|
|
74
74
|
throw new SparkVaultValidationError('Unsupported identity token algorithm', { alg: header.alg });
|
|
75
75
|
}
|
|
76
76
|
// Verify the signature BEFORE any claim is acted upon. JWKS is refreshed
|
|
77
|
-
// once on a kid miss so Identity
|
|
77
|
+
// once on a kid miss so Identity Product key rotation propagates without a
|
|
78
78
|
// process restart.
|
|
79
79
|
const jwk = await this.resolveJwk(header.kid, options.jwks);
|
|
80
80
|
const signatureValid = nacl.sign.detached.verify(utf8ToBytes(`${headerPart}.${payloadPart}`), base64UrlToBytes(signaturePart), base64UrlToBytes(jwk.x));
|
|
@@ -120,7 +120,7 @@ export class MobileAuthClient {
|
|
|
120
120
|
if (match) {
|
|
121
121
|
return match;
|
|
122
122
|
}
|
|
123
|
-
// Cache miss for the requested kid: Identity
|
|
123
|
+
// Cache miss for the requested kid: Identity Product may have rotated keys.
|
|
124
124
|
// Force-refresh the JWKS exactly once and retry before failing.
|
|
125
125
|
const refreshed = await this.getJwks({ forceRefresh: true });
|
|
126
126
|
return this.selectJwk(refreshed, kid);
|
|
@@ -226,8 +226,8 @@ export class MobileAuthClient {
|
|
|
226
226
|
return { hasPasskey: false };
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
async getPasskeyAuthOptions(
|
|
230
|
-
return this.postIdentity('/passkey/verify',
|
|
229
|
+
async getPasskeyAuthOptions(_identity, _identityType) {
|
|
230
|
+
return this.postIdentity('/passkey/verify', {});
|
|
231
231
|
}
|
|
232
232
|
async completePasskeyAuthentication(credential, session) {
|
|
233
233
|
const result = await this.postIdentity('/passkey/verify/complete', { session, credential });
|
|
@@ -246,12 +246,19 @@ export class MobileAuthClient {
|
|
|
246
246
|
return this.exchangeIdentityToken(result.token);
|
|
247
247
|
}
|
|
248
248
|
async getPasskeyRegisterOptions(params = {}) {
|
|
249
|
-
const
|
|
250
|
-
|
|
251
|
-
|
|
249
|
+
const identityType = params.identityType ?? (params.phone ? 'phone' : 'email');
|
|
250
|
+
const identity = params.identity ?? params.email ?? params.phone ?? await this.getStoredUserEmail();
|
|
251
|
+
if (!identity) {
|
|
252
|
+
throw new SparkVaultAuthenticationError('A freshly verified identifier is required to register a passkey');
|
|
253
|
+
}
|
|
254
|
+
if (!params.registrationToken) {
|
|
255
|
+
throw new SparkVaultAuthenticationError('A fresh registration token is required to register a passkey');
|
|
252
256
|
}
|
|
257
|
+
const normalized = this.normalizeIdentity(identity, identityType);
|
|
258
|
+
const identityBody = identityType === 'phone' ? { phone: normalized } : { email: normalized };
|
|
253
259
|
return this.postIdentity('/passkey/register', {
|
|
254
|
-
|
|
260
|
+
...identityBody,
|
|
261
|
+
registration_token: params.registrationToken,
|
|
255
262
|
device_name: params.deviceName ?? this.config.userAgent,
|
|
256
263
|
});
|
|
257
264
|
}
|
|
@@ -501,7 +508,7 @@ export class MobileAuthClient {
|
|
|
501
508
|
(claims.nbf === undefined || typeof claims.nbf === 'number') &&
|
|
502
509
|
(claims.jti === undefined || typeof claims.jti === 'string') &&
|
|
503
510
|
typeof claims.identity === 'string' &&
|
|
504
|
-
(claims.identity_type === 'email' || claims.identity_type === 'phone') &&
|
|
511
|
+
(claims.identity_type === 'email' || claims.identity_type === 'phone' || claims.identity_type === 'social') &&
|
|
505
512
|
typeof claims.verified_at === 'number' &&
|
|
506
513
|
typeof claims.method === 'string');
|
|
507
514
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SparkVaultValidationError } from './errors.js';
|
|
2
2
|
const DEFAULT_API_BASE_URL = 'https://api.sparkvault.com/v1';
|
|
3
|
-
const DEFAULT_IDENTITY_BASE_URL = 'https://api.sparkvault.com/v1/
|
|
3
|
+
const DEFAULT_IDENTITY_BASE_URL = 'https://api.sparkvault.com/v1/products/identity';
|
|
4
4
|
// Hosts that are allowed to serve backend-issued ingot download URLs.
|
|
5
5
|
// Keep in sync with the sdk-js default in packages/sdk-js/src/config.ts.
|
|
6
6
|
const DEFAULT_ALLOWED_DOWNLOAD_HOST_PATTERNS = [
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AASxD,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAC7D,MAAM,yBAAyB,GAAG,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/identity-dialog.js
CHANGED
|
@@ -25,6 +25,8 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
25
25
|
const colors = effectiveTheme === 'dark' ? darkColors : lightColors;
|
|
26
26
|
const allowedTypes = useMemo(() => normalizeAllowedTypes(config), [config]);
|
|
27
27
|
const methodsForIdentity = useMemo(() => getMethodsForIdentity(config, identityType, passkeyProvider), [config, identityType, passkeyProvider]);
|
|
28
|
+
const methodsWithoutIdentity = useMemo(() => getMethodsWithoutIdentity(config, passkeyProvider), [config, passkeyProvider]);
|
|
29
|
+
const visibleMethods = allowedTypes.length > 0 ? methodsForIdentity : methodsWithoutIdentity;
|
|
28
30
|
useEffect(() => {
|
|
29
31
|
onSuccessRef.current = onSuccess;
|
|
30
32
|
onCancelRef.current = onCancel;
|
|
@@ -51,8 +53,18 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
51
53
|
if (cancelled || !isActiveSession(sessionRef, sessionId))
|
|
52
54
|
return;
|
|
53
55
|
setConfig(nextConfig);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
const nextAllowedTypes = normalizeAllowedTypes(nextConfig);
|
|
57
|
+
setIdentityType(resolveInitialIdentityType(initialIdentity, initialIdentityType, nextAllowedTypes));
|
|
58
|
+
if (nextAllowedTypes.length > 0) {
|
|
59
|
+
setStep('identity');
|
|
60
|
+
}
|
|
61
|
+
else if (getMethodsWithoutIdentity(nextConfig, passkeyProvider).length > 0) {
|
|
62
|
+
setStep('methods');
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
setError('No supported sign-in methods are enabled for this app.');
|
|
66
|
+
setStep('error');
|
|
67
|
+
}
|
|
56
68
|
})
|
|
57
69
|
.catch((err) => {
|
|
58
70
|
if (cancelled || !isActiveSession(sessionRef, sessionId))
|
|
@@ -65,7 +77,7 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
65
77
|
return () => {
|
|
66
78
|
cancelled = true;
|
|
67
79
|
};
|
|
68
|
-
}, [client, initialIdentity, initialIdentityType, visible]);
|
|
80
|
+
}, [client, initialIdentity, initialIdentityType, passkeyProvider, visible]);
|
|
69
81
|
useEffect(() => {
|
|
70
82
|
if (!expiresAt || step !== 'totp') {
|
|
71
83
|
setCountdown('');
|
|
@@ -127,7 +139,7 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
127
139
|
}
|
|
128
140
|
}
|
|
129
141
|
}, [client, identity, identityType, reportError]);
|
|
130
|
-
const runPasskey = useCallback(async (
|
|
142
|
+
const runPasskey = useCallback(async () => {
|
|
131
143
|
if (!passkeyProvider) {
|
|
132
144
|
setError('Passkeys are not available in this app.');
|
|
133
145
|
return;
|
|
@@ -144,7 +156,7 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
144
156
|
}
|
|
145
157
|
if (!isActiveSession(sessionRef, sessionId))
|
|
146
158
|
return;
|
|
147
|
-
const challenge = await client.auth.getPasskeyAuthOptions(
|
|
159
|
+
const challenge = await client.auth.getPasskeyAuthOptions();
|
|
148
160
|
if (!isActiveSession(sessionRef, sessionId))
|
|
149
161
|
return;
|
|
150
162
|
const credential = await passkeyProvider.authenticate(challenge.options);
|
|
@@ -166,7 +178,7 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
166
178
|
setIsBusy(false);
|
|
167
179
|
}
|
|
168
180
|
}
|
|
169
|
-
}, [client, finishWithToken,
|
|
181
|
+
}, [client, finishWithToken, passkeyProvider, reportError]);
|
|
170
182
|
const handleIdentitySubmit = useCallback(async () => {
|
|
171
183
|
if (isBusy)
|
|
172
184
|
return;
|
|
@@ -188,18 +200,13 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
188
200
|
setIsBusy(true);
|
|
189
201
|
const sessionId = sessionRef.current;
|
|
190
202
|
try {
|
|
191
|
-
if (availableMethods.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
await
|
|
197
|
-
return;
|
|
203
|
+
if (availableMethods.length === 1) {
|
|
204
|
+
if (availableMethods[0] === 'passkey') {
|
|
205
|
+
await runPasskey();
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
await sendTotp(availableMethods[0], normalizedIdentity, nextIdentityType);
|
|
198
209
|
}
|
|
199
|
-
}
|
|
200
|
-
const totpMethods = availableMethods.filter((method) => method !== 'passkey');
|
|
201
|
-
if (totpMethods.length === 1) {
|
|
202
|
-
await sendTotp(totpMethods[0], normalizedIdentity, nextIdentityType);
|
|
203
210
|
return;
|
|
204
211
|
}
|
|
205
212
|
setStep('methods');
|
|
@@ -214,7 +221,7 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
214
221
|
setIsBusy(false);
|
|
215
222
|
}
|
|
216
223
|
}
|
|
217
|
-
}, [allowedTypes,
|
|
224
|
+
}, [allowedTypes, config, identity, isBusy, passkeyProvider, reportError, runPasskey, sendTotp]);
|
|
218
225
|
const handleMethodSelect = useCallback(async (method) => {
|
|
219
226
|
if (method === 'passkey') {
|
|
220
227
|
await runPasskey();
|
|
@@ -272,8 +279,18 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
272
279
|
if (!isActiveSession(sessionRef, sessionId))
|
|
273
280
|
return;
|
|
274
281
|
setConfig(nextConfig);
|
|
275
|
-
|
|
276
|
-
|
|
282
|
+
const nextAllowedTypes = normalizeAllowedTypes(nextConfig);
|
|
283
|
+
setIdentityType(resolveInitialIdentityType(initialIdentity, initialIdentityType, nextAllowedTypes));
|
|
284
|
+
if (nextAllowedTypes.length > 0) {
|
|
285
|
+
setStep('identity');
|
|
286
|
+
}
|
|
287
|
+
else if (getMethodsWithoutIdentity(nextConfig, passkeyProvider).length > 0) {
|
|
288
|
+
setStep('methods');
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
setError('No supported sign-in methods are enabled for this app.');
|
|
292
|
+
setStep('error');
|
|
293
|
+
}
|
|
277
294
|
})
|
|
278
295
|
.catch((err) => {
|
|
279
296
|
if (!isActiveSession(sessionRef, sessionId))
|
|
@@ -286,7 +303,7 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
286
303
|
setIsBusy(false);
|
|
287
304
|
}
|
|
288
305
|
});
|
|
289
|
-
}, [client, initialIdentity, initialIdentityType, reportError]);
|
|
306
|
+
}, [client, initialIdentity, initialIdentityType, passkeyProvider, reportError]);
|
|
290
307
|
const headerLogo = getHeaderLogo(branding, effectiveTheme);
|
|
291
308
|
const companyName = branding?.companyName || 'SparkVault';
|
|
292
309
|
return (_jsx(Modal, { visible: visible, transparent: true, animationType: "fade", onRequestClose: handleCancel, children: _jsx(KeyboardAvoidingView, { behavior: Platform.OS === 'ios' ? 'padding' : undefined, style: [styles.backdrop, { backgroundColor: colors.backdrop }], children: _jsx(ScrollView, { contentContainerStyle: styles.scrollContent, keyboardShouldPersistTaps: "handled", children: _jsxs(View, { style: [styles.card, { backgroundColor: colors.card, borderColor: colors.border }], children: [_jsxs(View, { style: styles.header, children: [_jsxs(View, { style: styles.brand, children: [headerLogo ? (_jsx(Image, { source: { uri: headerLogo }, style: styles.logo, resizeMode: "contain" })) : (_jsx(View, { style: [styles.logoFallback, { backgroundColor: colors.primarySoft }], children: _jsx(Text, { style: [styles.logoFallbackText, { color: colors.primary }], children: companyName.slice(0, 1).toUpperCase() }) })), _jsx(Text, { style: [styles.companyName, { color: colors.text }], children: companyName })] }), _jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: "Close identity verification", onPress: handleCancel, hitSlop: 12, style: styles.closeButton, children: _jsx(Text, { style: [styles.closeText, { color: colors.muted }], children: "x" }) })] }), step === 'loading' && (_jsxs(View, { style: styles.centerContent, children: [_jsx(ActivityIndicator, { color: colors.primary }), _jsx(Text, { style: [styles.mutedText, { color: colors.muted }], children: "Loading sign-in options..." })] })), step === 'identity' && (_jsxs(View, { style: styles.body, children: [_jsx(Text, { style: [styles.title, { color: colors.text }], children: "Sign in" }), _jsx(Text, { style: [styles.subtitle, { color: colors.muted }], children: identitySubtitle(allowedTypes) }), _jsx(TextInput, { value: identity, onChangeText: (value) => {
|
|
@@ -302,14 +319,14 @@ export function SparkVaultIdentityDialog({ client, visible, initialIdentity, ini
|
|
|
302
319
|
color: colors.text,
|
|
303
320
|
backgroundColor: colors.input,
|
|
304
321
|
},
|
|
305
|
-
] }), error ? _jsx(Text, { style: [styles.error, { color: colors.error }], children: error }) : null, _jsx(PrimaryButton, { label: "Continue", colors: colors, disabled: !identity.trim() || isBusy, loading: isBusy, onPress: handleIdentitySubmit })] })), step === 'methods' && (_jsxs(View, { style: styles.body, children: [_jsx(Text, { style: [styles.title, { color: colors.text }], children: "Choose a method" }), _jsx(Text, { style: [styles.subtitle, { color: colors.muted }], children: identity }), _jsx(View, { style: styles.methodList, children:
|
|
322
|
+
] }), error ? _jsx(Text, { style: [styles.error, { color: colors.error }], children: error }) : null, _jsx(PrimaryButton, { label: "Continue", colors: colors, disabled: !identity.trim() || isBusy, loading: isBusy, onPress: handleIdentitySubmit })] })), step === 'methods' && (_jsxs(View, { style: styles.body, children: [_jsx(Text, { style: [styles.title, { color: colors.text }], children: "Choose a method" }), identity ? _jsx(Text, { style: [styles.subtitle, { color: colors.muted }], children: identity }) : null, _jsx(View, { style: styles.methodList, children: visibleMethods.map((method) => (_jsxs(Pressable, { accessibilityRole: "button", onPress: () => handleMethodSelect(method), disabled: isBusy, style: ({ pressed }) => [
|
|
306
323
|
styles.methodButton,
|
|
307
324
|
{
|
|
308
325
|
borderColor: colors.border,
|
|
309
326
|
backgroundColor: pressed ? colors.pressed : colors.input,
|
|
310
327
|
opacity: isBusy ? 0.6 : 1,
|
|
311
328
|
},
|
|
312
|
-
], children: [_jsx(Text, { style: [styles.methodTitle, { color: colors.text }], children: methodTitle(method) }), _jsx(Text, { style: [styles.methodDescription, { color: colors.muted }], children: methodDescription(method) })] }, method))) }), error ? _jsx(Text, { style: [styles.error, { color: colors.error }], children: error }) : null, _jsx(TextButton, { label: "Use a different identity", colors: colors, onPress: () => setStep('identity') })] })), step === 'passkey' && (_jsxs(View, { style: styles.body, children: [_jsx(Text, { style: [styles.title, { color: colors.text }], children: "Use your passkey" }), _jsx(Text, { style: [styles.subtitle, { color: colors.muted }], children: "Confirm this sign-in with your device passkey." }), _jsx(View, { style: [styles.passkeyIcon, { backgroundColor: colors.primarySoft }], children: _jsx(Text, { style: [styles.passkeyIconText, { color: colors.primary }], children: "key" }) }), isBusy ? _jsx(ActivityIndicator, { color: colors.primary }) : null, error ? _jsx(Text, { style: [styles.error, { color: colors.error }], children: error }) : null, _jsx(PrimaryButton, { label: "Try Again", colors: colors, disabled: isBusy, loading: isBusy, onPress: runPasskey }), fallbackTotpMethod(methodsForIdentity) ? (_jsx(TextButton, { label: fallbackLabel(fallbackTotpMethod(methodsForIdentity)), colors: colors, onPress: () => sendTotp(fallbackTotpMethod(methodsForIdentity)), disabled: isBusy })) : null] })), step === 'totp' && (_jsxs(View, { style: styles.body, children: [_jsx(Text, { style: [styles.title, { color: colors.text }], children: totpTitle(selectedMethod) }), _jsxs(Text, { style: [styles.subtitle, { color: colors.muted }], children: ["Enter the 6-digit code sent to ", '\n', _jsx(Text, { style: { color: colors.text, fontWeight: '700' }, children: identity })] }), _jsx(TextInput, { value: pin, onChangeText: (value) => {
|
|
329
|
+
], children: [_jsx(Text, { style: [styles.methodTitle, { color: colors.text }], children: methodTitle(method) }), _jsx(Text, { style: [styles.methodDescription, { color: colors.muted }], children: methodDescription(method) })] }, method))) }), error ? _jsx(Text, { style: [styles.error, { color: colors.error }], children: error }) : null, allowedTypes.length > 0 ? (_jsx(TextButton, { label: "Use a different identity", colors: colors, onPress: () => setStep('identity') })) : null] })), step === 'passkey' && (_jsxs(View, { style: styles.body, children: [_jsx(Text, { style: [styles.title, { color: colors.text }], children: "Use your passkey" }), _jsx(Text, { style: [styles.subtitle, { color: colors.muted }], children: "Confirm this sign-in with your device passkey." }), _jsx(View, { style: [styles.passkeyIcon, { backgroundColor: colors.primarySoft }], children: _jsx(Text, { style: [styles.passkeyIconText, { color: colors.primary }], children: "key" }) }), isBusy ? _jsx(ActivityIndicator, { color: colors.primary }) : null, error ? _jsx(Text, { style: [styles.error, { color: colors.error }], children: error }) : null, _jsx(PrimaryButton, { label: "Try Again", colors: colors, disabled: isBusy, loading: isBusy, onPress: runPasskey }), allowedTypes.length > 0 && fallbackTotpMethod(methodsForIdentity) ? (_jsx(TextButton, { label: fallbackLabel(fallbackTotpMethod(methodsForIdentity)), colors: colors, onPress: () => sendTotp(fallbackTotpMethod(methodsForIdentity)), disabled: isBusy })) : null] })), step === 'totp' && (_jsxs(View, { style: styles.body, children: [_jsx(Text, { style: [styles.title, { color: colors.text }], children: totpTitle(selectedMethod) }), _jsxs(Text, { style: [styles.subtitle, { color: colors.muted }], children: ["Enter the 6-digit code sent to ", '\n', _jsx(Text, { style: { color: colors.text, fontWeight: '700' }, children: identity })] }), _jsx(TextInput, { value: pin, onChangeText: (value) => {
|
|
313
330
|
setPin(value.replace(/\D/g, '').slice(0, 6));
|
|
314
331
|
setError('');
|
|
315
332
|
}, placeholder: "000000", placeholderTextColor: colors.placeholder, keyboardType: "number-pad", maxLength: 6, editable: !isBusy && countdown !== 'Expired', style: [
|
|
@@ -337,8 +354,11 @@ function TextButton({ label, colors, disabled, onPress, }) {
|
|
|
337
354
|
return (_jsx(Pressable, { accessibilityRole: "button", onPress: onPress, disabled: disabled, style: styles.textButton, children: _jsx(Text, { style: [styles.textButtonLabel, { color: disabled ? colors.muted : colors.primary }], children: label }) }));
|
|
338
355
|
}
|
|
339
356
|
function normalizeAllowedTypes(config) {
|
|
340
|
-
|
|
341
|
-
|
|
357
|
+
if (!config)
|
|
358
|
+
return ['email'];
|
|
359
|
+
if (!config.allowedIdentityTypes)
|
|
360
|
+
return ['email'];
|
|
361
|
+
return config.allowedIdentityTypes.filter((type) => type === 'email' || type === 'phone');
|
|
342
362
|
}
|
|
343
363
|
function resolveInitialIdentityType(identity, explicitType, allowedTypes) {
|
|
344
364
|
if (explicitType && allowedTypes.includes(explicitType))
|
|
@@ -353,12 +373,16 @@ function getMethodsForIdentity(config, identityType, passkeyProvider) {
|
|
|
353
373
|
if (!SUPPORTED_METHODS.has(method))
|
|
354
374
|
return false;
|
|
355
375
|
if (method === 'passkey')
|
|
356
|
-
return
|
|
376
|
+
return Boolean(passkeyProvider);
|
|
357
377
|
if (method === 'totp_email')
|
|
358
378
|
return identityType === 'email';
|
|
359
379
|
return identityType === 'phone';
|
|
360
380
|
});
|
|
361
381
|
}
|
|
382
|
+
function getMethodsWithoutIdentity(config, passkeyProvider) {
|
|
383
|
+
const configuredMethods = config?.methods ?? [];
|
|
384
|
+
return configuredMethods.filter((method) => (method === 'passkey' && Boolean(passkeyProvider)));
|
|
385
|
+
}
|
|
362
386
|
function parseIdentity(value, allowedTypes) {
|
|
363
387
|
const trimmed = value.trim();
|
|
364
388
|
if (!trimmed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-dialog.js","sourceRoot":"","sources":["../src/identity-dialog.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"identity-dialog.js","sourceRoot":"","sources":["../src/identity-dialog.tsx"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export interface SparkVaultAccount {
|
|
|
49
49
|
created_at: number;
|
|
50
50
|
}
|
|
51
51
|
export type IdentityType = 'email' | 'phone';
|
|
52
|
+
export type VerifiedIdentityType = IdentityType | 'social';
|
|
52
53
|
export type IdentityMethodId = 'totp_email' | 'totp_sms' | 'totp_voice' | 'passkey' | 'sparklink' | 'social_google' | 'social_apple' | 'social_microsoft' | 'social_github' | 'social_facebook' | 'social_linkedin' | 'enterprise_okta' | 'enterprise_entra' | 'enterprise_onelogin' | 'enterprise_ping' | 'enterprise_jumpcloud';
|
|
53
54
|
export interface IdentityBranding {
|
|
54
55
|
companyName: string | null;
|
|
@@ -84,14 +85,14 @@ export interface IdentityTokenClaims {
|
|
|
84
85
|
nbf?: number;
|
|
85
86
|
jti?: string;
|
|
86
87
|
identity: string;
|
|
87
|
-
identity_type:
|
|
88
|
+
identity_type: VerifiedIdentityType;
|
|
88
89
|
verified_at: number;
|
|
89
90
|
method: string;
|
|
90
91
|
}
|
|
91
92
|
export interface IdentityVerifyResult {
|
|
92
93
|
token: string;
|
|
93
94
|
identity: string;
|
|
94
|
-
identityType:
|
|
95
|
+
identityType: VerifiedIdentityType;
|
|
95
96
|
method?: string;
|
|
96
97
|
redirect?: string;
|
|
97
98
|
jwksUri: string;
|
|
@@ -154,10 +155,6 @@ export interface PasskeyAuthOptions {
|
|
|
154
155
|
challenge: string;
|
|
155
156
|
timeout: number;
|
|
156
157
|
rpId: string;
|
|
157
|
-
allowCredentials?: {
|
|
158
|
-
id: string;
|
|
159
|
-
type: 'public-key';
|
|
160
|
-
}[];
|
|
161
158
|
userVerification: 'required' | 'preferred' | 'discouraged';
|
|
162
159
|
}
|
|
163
160
|
export interface PasskeyAuthChallenge {
|
|
@@ -183,6 +180,7 @@ export interface PasskeyRegisterOptions {
|
|
|
183
180
|
authenticatorSelection: {
|
|
184
181
|
userVerification: 'required' | 'preferred' | 'discouraged';
|
|
185
182
|
residentKey: 'required' | 'preferred' | 'discouraged';
|
|
183
|
+
requireResidentKey?: boolean;
|
|
186
184
|
};
|
|
187
185
|
}
|
|
188
186
|
export interface PasskeyRegisterChallenge {
|
package/package.json
CHANGED
package/src/auth.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type {
|
|
|
8
8
|
CompleteSignupResponse,
|
|
9
9
|
IdentityConfig,
|
|
10
10
|
IdentityJwks,
|
|
11
|
+
VerifiedIdentityType,
|
|
11
12
|
IdentityTokenClaims,
|
|
12
13
|
IdentityType,
|
|
13
14
|
IdentityVerifyResult,
|
|
@@ -32,7 +33,7 @@ interface IdentityVerificationResponse {
|
|
|
32
33
|
verified: boolean;
|
|
33
34
|
token?: string;
|
|
34
35
|
identity?: string;
|
|
35
|
-
identity_type?:
|
|
36
|
+
identity_type?: VerifiedIdentityType;
|
|
36
37
|
method?: string;
|
|
37
38
|
redirect?: string;
|
|
38
39
|
kindling?: string;
|
|
@@ -44,7 +45,7 @@ interface IdentityPasskeyCompletionResponse {
|
|
|
44
45
|
verified?: boolean;
|
|
45
46
|
token: string;
|
|
46
47
|
identity: string;
|
|
47
|
-
identity_type:
|
|
48
|
+
identity_type: VerifiedIdentityType;
|
|
48
49
|
method: string;
|
|
49
50
|
redirect?: string;
|
|
50
51
|
}
|
|
@@ -147,7 +148,7 @@ export class MobileAuthClient {
|
|
|
147
148
|
}
|
|
148
149
|
|
|
149
150
|
// Verify the signature BEFORE any claim is acted upon. JWKS is refreshed
|
|
150
|
-
// once on a kid miss so Identity
|
|
151
|
+
// once on a kid miss so Identity Product key rotation propagates without a
|
|
151
152
|
// process restart.
|
|
152
153
|
const jwk = await this.resolveJwk(header.kid, options.jwks);
|
|
153
154
|
const signatureValid = nacl.sign.detached.verify(
|
|
@@ -202,7 +203,7 @@ export class MobileAuthClient {
|
|
|
202
203
|
if (match) {
|
|
203
204
|
return match;
|
|
204
205
|
}
|
|
205
|
-
// Cache miss for the requested kid: Identity
|
|
206
|
+
// Cache miss for the requested kid: Identity Product may have rotated keys.
|
|
206
207
|
// Force-refresh the JWKS exactly once and retry before failing.
|
|
207
208
|
const refreshed = await this.getJwks({ forceRefresh: true });
|
|
208
209
|
return this.selectJwk(refreshed, kid);
|
|
@@ -340,8 +341,8 @@ export class MobileAuthClient {
|
|
|
340
341
|
}
|
|
341
342
|
}
|
|
342
343
|
|
|
343
|
-
async getPasskeyAuthOptions(
|
|
344
|
-
return this.postIdentity<PasskeyAuthChallenge>('/passkey/verify',
|
|
344
|
+
async getPasskeyAuthOptions(_identity?: string, _identityType?: IdentityType): Promise<PasskeyAuthChallenge> {
|
|
345
|
+
return this.postIdentity<PasskeyAuthChallenge>('/passkey/verify', {});
|
|
345
346
|
}
|
|
346
347
|
|
|
347
348
|
async completePasskeyAuthentication(
|
|
@@ -373,14 +374,29 @@ export class MobileAuthClient {
|
|
|
373
374
|
return this.exchangeIdentityToken(result.token);
|
|
374
375
|
}
|
|
375
376
|
|
|
376
|
-
async getPasskeyRegisterOptions(params: {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
377
|
+
async getPasskeyRegisterOptions(params: {
|
|
378
|
+
identity?: string;
|
|
379
|
+
identityType?: IdentityType;
|
|
380
|
+
email?: string;
|
|
381
|
+
phone?: string;
|
|
382
|
+
registrationToken?: string;
|
|
383
|
+
deviceName?: string;
|
|
384
|
+
} = {}): Promise<PasskeyRegisterChallenge> {
|
|
385
|
+
const identityType = params.identityType ?? (params.phone ? 'phone' : 'email');
|
|
386
|
+
const identity = params.identity ?? params.email ?? params.phone ?? await this.getStoredUserEmail();
|
|
387
|
+
if (!identity) {
|
|
388
|
+
throw new SparkVaultAuthenticationError('A freshly verified identifier is required to register a passkey');
|
|
389
|
+
}
|
|
390
|
+
if (!params.registrationToken) {
|
|
391
|
+
throw new SparkVaultAuthenticationError('A fresh registration token is required to register a passkey');
|
|
380
392
|
}
|
|
381
393
|
|
|
394
|
+
const normalized = this.normalizeIdentity(identity, identityType);
|
|
395
|
+
const identityBody = identityType === 'phone' ? { phone: normalized } : { email: normalized };
|
|
396
|
+
|
|
382
397
|
return this.postIdentity<PasskeyRegisterChallenge>('/passkey/register', {
|
|
383
|
-
|
|
398
|
+
...identityBody,
|
|
399
|
+
registration_token: params.registrationToken,
|
|
384
400
|
device_name: params.deviceName ?? this.config.userAgent,
|
|
385
401
|
});
|
|
386
402
|
}
|
|
@@ -556,7 +572,7 @@ export class MobileAuthClient {
|
|
|
556
572
|
token: string,
|
|
557
573
|
details: {
|
|
558
574
|
identity?: string;
|
|
559
|
-
identityType?:
|
|
575
|
+
identityType?: VerifiedIdentityType;
|
|
560
576
|
method?: string;
|
|
561
577
|
redirect?: string;
|
|
562
578
|
}
|
|
@@ -693,7 +709,7 @@ export class MobileAuthClient {
|
|
|
693
709
|
(claims.nbf === undefined || typeof claims.nbf === 'number') &&
|
|
694
710
|
(claims.jti === undefined || typeof claims.jti === 'string') &&
|
|
695
711
|
typeof claims.identity === 'string' &&
|
|
696
|
-
(claims.identity_type === 'email' || claims.identity_type === 'phone') &&
|
|
712
|
+
(claims.identity_type === 'email' || claims.identity_type === 'phone' || claims.identity_type === 'social') &&
|
|
697
713
|
typeof claims.verified_at === 'number' &&
|
|
698
714
|
typeof claims.method === 'string'
|
|
699
715
|
);
|
package/src/config.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
} from './types.js';
|
|
9
9
|
|
|
10
10
|
const DEFAULT_API_BASE_URL = 'https://api.sparkvault.com/v1';
|
|
11
|
-
const DEFAULT_IDENTITY_BASE_URL = 'https://api.sparkvault.com/v1/
|
|
11
|
+
const DEFAULT_IDENTITY_BASE_URL = 'https://api.sparkvault.com/v1/products/identity';
|
|
12
12
|
|
|
13
13
|
// Hosts that are allowed to serve backend-issued ingot download URLs.
|
|
14
14
|
// Keep in sync with the sdk-js default in packages/sdk-js/src/config.ts.
|
package/src/identity-dialog.tsx
CHANGED
|
@@ -81,6 +81,11 @@ export function SparkVaultIdentityDialog({
|
|
|
81
81
|
() => getMethodsForIdentity(config, identityType, passkeyProvider),
|
|
82
82
|
[config, identityType, passkeyProvider]
|
|
83
83
|
);
|
|
84
|
+
const methodsWithoutIdentity = useMemo(
|
|
85
|
+
() => getMethodsWithoutIdentity(config, passkeyProvider),
|
|
86
|
+
[config, passkeyProvider]
|
|
87
|
+
);
|
|
88
|
+
const visibleMethods = allowedTypes.length > 0 ? methodsForIdentity : methodsWithoutIdentity;
|
|
84
89
|
|
|
85
90
|
useEffect(() => {
|
|
86
91
|
onSuccessRef.current = onSuccess;
|
|
@@ -110,8 +115,16 @@ export function SparkVaultIdentityDialog({
|
|
|
110
115
|
.then((nextConfig) => {
|
|
111
116
|
if (cancelled || !isActiveSession(sessionRef, sessionId)) return;
|
|
112
117
|
setConfig(nextConfig);
|
|
113
|
-
|
|
114
|
-
|
|
118
|
+
const nextAllowedTypes = normalizeAllowedTypes(nextConfig);
|
|
119
|
+
setIdentityType(resolveInitialIdentityType(initialIdentity, initialIdentityType, nextAllowedTypes));
|
|
120
|
+
if (nextAllowedTypes.length > 0) {
|
|
121
|
+
setStep('identity');
|
|
122
|
+
} else if (getMethodsWithoutIdentity(nextConfig, passkeyProvider).length > 0) {
|
|
123
|
+
setStep('methods');
|
|
124
|
+
} else {
|
|
125
|
+
setError('No supported sign-in methods are enabled for this app.');
|
|
126
|
+
setStep('error');
|
|
127
|
+
}
|
|
115
128
|
})
|
|
116
129
|
.catch((err: unknown) => {
|
|
117
130
|
if (cancelled || !isActiveSession(sessionRef, sessionId)) return;
|
|
@@ -124,7 +137,7 @@ export function SparkVaultIdentityDialog({
|
|
|
124
137
|
return () => {
|
|
125
138
|
cancelled = true;
|
|
126
139
|
};
|
|
127
|
-
}, [client, initialIdentity, initialIdentityType, visible]);
|
|
140
|
+
}, [client, initialIdentity, initialIdentityType, passkeyProvider, visible]);
|
|
128
141
|
|
|
129
142
|
useEffect(() => {
|
|
130
143
|
if (!expiresAt || step !== 'totp') {
|
|
@@ -193,10 +206,7 @@ export function SparkVaultIdentityDialog({
|
|
|
193
206
|
}
|
|
194
207
|
}, [client, identity, identityType, reportError]);
|
|
195
208
|
|
|
196
|
-
const runPasskey = useCallback(async (
|
|
197
|
-
targetIdentity = identity,
|
|
198
|
-
targetIdentityType = identityType
|
|
199
|
-
) => {
|
|
209
|
+
const runPasskey = useCallback(async () => {
|
|
200
210
|
if (!passkeyProvider) {
|
|
201
211
|
setError('Passkeys are not available in this app.');
|
|
202
212
|
return;
|
|
@@ -215,7 +225,7 @@ export function SparkVaultIdentityDialog({
|
|
|
215
225
|
}
|
|
216
226
|
if (!isActiveSession(sessionRef, sessionId)) return;
|
|
217
227
|
|
|
218
|
-
const challenge = await client.auth.getPasskeyAuthOptions(
|
|
228
|
+
const challenge = await client.auth.getPasskeyAuthOptions();
|
|
219
229
|
if (!isActiveSession(sessionRef, sessionId)) return;
|
|
220
230
|
const credential = await passkeyProvider.authenticate(challenge.options);
|
|
221
231
|
if (!isActiveSession(sessionRef, sessionId)) return;
|
|
@@ -233,7 +243,7 @@ export function SparkVaultIdentityDialog({
|
|
|
233
243
|
setIsBusy(false);
|
|
234
244
|
}
|
|
235
245
|
}
|
|
236
|
-
}, [client, finishWithToken,
|
|
246
|
+
}, [client, finishWithToken, passkeyProvider, reportError]);
|
|
237
247
|
|
|
238
248
|
const handleIdentitySubmit = useCallback(async () => {
|
|
239
249
|
if (isBusy) return;
|
|
@@ -259,18 +269,12 @@ export function SparkVaultIdentityDialog({
|
|
|
259
269
|
const sessionId = sessionRef.current;
|
|
260
270
|
|
|
261
271
|
try {
|
|
262
|
-
if (availableMethods.
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
await
|
|
267
|
-
return;
|
|
272
|
+
if (availableMethods.length === 1) {
|
|
273
|
+
if (availableMethods[0] === 'passkey') {
|
|
274
|
+
await runPasskey();
|
|
275
|
+
} else {
|
|
276
|
+
await sendTotp(availableMethods[0], normalizedIdentity, nextIdentityType);
|
|
268
277
|
}
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
const totpMethods = availableMethods.filter((method) => method !== 'passkey');
|
|
272
|
-
if (totpMethods.length === 1) {
|
|
273
|
-
await sendTotp(totpMethods[0], normalizedIdentity, nextIdentityType);
|
|
274
278
|
return;
|
|
275
279
|
}
|
|
276
280
|
|
|
@@ -283,7 +287,7 @@ export function SparkVaultIdentityDialog({
|
|
|
283
287
|
setIsBusy(false);
|
|
284
288
|
}
|
|
285
289
|
}
|
|
286
|
-
}, [allowedTypes,
|
|
290
|
+
}, [allowedTypes, config, identity, isBusy, passkeyProvider, reportError, runPasskey, sendTotp]);
|
|
287
291
|
|
|
288
292
|
const handleMethodSelect = useCallback(async (method: SupportedMethodId) => {
|
|
289
293
|
if (method === 'passkey') {
|
|
@@ -341,8 +345,16 @@ export function SparkVaultIdentityDialog({
|
|
|
341
345
|
.then((nextConfig) => {
|
|
342
346
|
if (!isActiveSession(sessionRef, sessionId)) return;
|
|
343
347
|
setConfig(nextConfig);
|
|
344
|
-
|
|
345
|
-
|
|
348
|
+
const nextAllowedTypes = normalizeAllowedTypes(nextConfig);
|
|
349
|
+
setIdentityType(resolveInitialIdentityType(initialIdentity, initialIdentityType, nextAllowedTypes));
|
|
350
|
+
if (nextAllowedTypes.length > 0) {
|
|
351
|
+
setStep('identity');
|
|
352
|
+
} else if (getMethodsWithoutIdentity(nextConfig, passkeyProvider).length > 0) {
|
|
353
|
+
setStep('methods');
|
|
354
|
+
} else {
|
|
355
|
+
setError('No supported sign-in methods are enabled for this app.');
|
|
356
|
+
setStep('error');
|
|
357
|
+
}
|
|
346
358
|
})
|
|
347
359
|
.catch((err: unknown) => {
|
|
348
360
|
if (!isActiveSession(sessionRef, sessionId)) return;
|
|
@@ -354,7 +366,7 @@ export function SparkVaultIdentityDialog({
|
|
|
354
366
|
setIsBusy(false);
|
|
355
367
|
}
|
|
356
368
|
});
|
|
357
|
-
}, [client, initialIdentity, initialIdentityType, reportError]);
|
|
369
|
+
}, [client, initialIdentity, initialIdentityType, passkeyProvider, reportError]);
|
|
358
370
|
|
|
359
371
|
const headerLogo = getHeaderLogo(branding, effectiveTheme);
|
|
360
372
|
const companyName = branding?.companyName || 'SparkVault';
|
|
@@ -446,9 +458,9 @@ export function SparkVaultIdentityDialog({
|
|
|
446
458
|
{step === 'methods' && (
|
|
447
459
|
<View style={styles.body}>
|
|
448
460
|
<Text style={[styles.title, { color: colors.text }]}>Choose a method</Text>
|
|
449
|
-
<Text style={[styles.subtitle, { color: colors.muted }]}>{identity}</Text>
|
|
461
|
+
{identity ? <Text style={[styles.subtitle, { color: colors.muted }]}>{identity}</Text> : null}
|
|
450
462
|
<View style={styles.methodList}>
|
|
451
|
-
{
|
|
463
|
+
{visibleMethods.map((method) => (
|
|
452
464
|
<Pressable
|
|
453
465
|
key={method}
|
|
454
466
|
accessibilityRole="button"
|
|
@@ -471,7 +483,9 @@ export function SparkVaultIdentityDialog({
|
|
|
471
483
|
))}
|
|
472
484
|
</View>
|
|
473
485
|
{error ? <Text style={[styles.error, { color: colors.error }]}>{error}</Text> : null}
|
|
474
|
-
|
|
486
|
+
{allowedTypes.length > 0 ? (
|
|
487
|
+
<TextButton label="Use a different identity" colors={colors} onPress={() => setStep('identity')} />
|
|
488
|
+
) : null}
|
|
475
489
|
</View>
|
|
476
490
|
)}
|
|
477
491
|
|
|
@@ -493,7 +507,7 @@ export function SparkVaultIdentityDialog({
|
|
|
493
507
|
loading={isBusy}
|
|
494
508
|
onPress={runPasskey}
|
|
495
509
|
/>
|
|
496
|
-
{fallbackTotpMethod(methodsForIdentity) ? (
|
|
510
|
+
{allowedTypes.length > 0 && fallbackTotpMethod(methodsForIdentity) ? (
|
|
497
511
|
<TextButton
|
|
498
512
|
label={fallbackLabel(fallbackTotpMethod(methodsForIdentity)!)}
|
|
499
513
|
colors={colors}
|
|
@@ -631,8 +645,9 @@ function TextButton({
|
|
|
631
645
|
}
|
|
632
646
|
|
|
633
647
|
function normalizeAllowedTypes(config: IdentityConfig | null): IdentityType[] {
|
|
634
|
-
|
|
635
|
-
|
|
648
|
+
if (!config) return ['email'];
|
|
649
|
+
if (!config.allowedIdentityTypes) return ['email'];
|
|
650
|
+
return config.allowedIdentityTypes.filter((type): type is IdentityType => type === 'email' || type === 'phone');
|
|
636
651
|
}
|
|
637
652
|
|
|
638
653
|
function resolveInitialIdentityType(
|
|
@@ -653,12 +668,22 @@ function getMethodsForIdentity(
|
|
|
653
668
|
const configuredMethods = config?.methods ?? ['totp_email'];
|
|
654
669
|
return configuredMethods.filter((method): method is SupportedMethodId => {
|
|
655
670
|
if (!SUPPORTED_METHODS.has(method)) return false;
|
|
656
|
-
if (method === 'passkey') return
|
|
671
|
+
if (method === 'passkey') return Boolean(passkeyProvider);
|
|
657
672
|
if (method === 'totp_email') return identityType === 'email';
|
|
658
673
|
return identityType === 'phone';
|
|
659
674
|
});
|
|
660
675
|
}
|
|
661
676
|
|
|
677
|
+
function getMethodsWithoutIdentity(
|
|
678
|
+
config: IdentityConfig | null,
|
|
679
|
+
passkeyProvider?: MobilePasskeyProvider
|
|
680
|
+
): SupportedMethodId[] {
|
|
681
|
+
const configuredMethods = config?.methods ?? [];
|
|
682
|
+
return configuredMethods.filter((method): method is SupportedMethodId => (
|
|
683
|
+
method === 'passkey' && Boolean(passkeyProvider)
|
|
684
|
+
));
|
|
685
|
+
}
|
|
686
|
+
|
|
662
687
|
function parseIdentity(
|
|
663
688
|
value: string,
|
|
664
689
|
allowedTypes: IdentityType[]
|
package/src/types.ts
CHANGED
|
@@ -55,6 +55,7 @@ export interface SparkVaultAccount {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
export type IdentityType = 'email' | 'phone';
|
|
58
|
+
export type VerifiedIdentityType = IdentityType | 'social';
|
|
58
59
|
|
|
59
60
|
export type IdentityMethodId =
|
|
60
61
|
| 'totp_email'
|
|
@@ -112,7 +113,7 @@ export interface IdentityTokenClaims {
|
|
|
112
113
|
nbf?: number;
|
|
113
114
|
jti?: string;
|
|
114
115
|
identity: string;
|
|
115
|
-
identity_type:
|
|
116
|
+
identity_type: VerifiedIdentityType;
|
|
116
117
|
verified_at: number;
|
|
117
118
|
method: string;
|
|
118
119
|
}
|
|
@@ -120,7 +121,7 @@ export interface IdentityTokenClaims {
|
|
|
120
121
|
export interface IdentityVerifyResult {
|
|
121
122
|
token: string;
|
|
122
123
|
identity: string;
|
|
123
|
-
identityType:
|
|
124
|
+
identityType: VerifiedIdentityType;
|
|
124
125
|
method?: string;
|
|
125
126
|
redirect?: string;
|
|
126
127
|
jwksUri: string;
|
|
@@ -195,10 +196,6 @@ export interface PasskeyAuthOptions {
|
|
|
195
196
|
challenge: string;
|
|
196
197
|
timeout: number;
|
|
197
198
|
rpId: string;
|
|
198
|
-
allowCredentials?: {
|
|
199
|
-
id: string;
|
|
200
|
-
type: 'public-key';
|
|
201
|
-
}[];
|
|
202
199
|
userVerification: 'required' | 'preferred' | 'discouraged';
|
|
203
200
|
}
|
|
204
201
|
|
|
@@ -226,6 +223,7 @@ export interface PasskeyRegisterOptions {
|
|
|
226
223
|
authenticatorSelection: {
|
|
227
224
|
userVerification: 'required' | 'preferred' | 'discouraged';
|
|
228
225
|
residentKey: 'required' | 'preferred' | 'discouraged';
|
|
226
|
+
requireResidentKey?: boolean;
|
|
229
227
|
};
|
|
230
228
|
}
|
|
231
229
|
|