@arcblock/did-connect-core 4.1.52 → 4.1.54
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/ui/design-tokens.js +4 -4
- package/dist/ui/i18n.d.ts +3 -1
- package/dist/ui/i18n.d.ts.map +1 -1
- package/dist/ui/i18n.js +120 -32
- package/dist/ui/i18n.js.map +1 -1
- package/dist/ui/index.bundle.js +1051 -191
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/login-dialog.d.ts +26 -0
- package/dist/ui/login-dialog.d.ts.map +1 -0
- package/dist/ui/login-dialog.js +210 -0
- package/dist/ui/login-dialog.js.map +1 -0
- package/dist/ui/login-page.d.ts +77 -2
- package/dist/ui/login-page.d.ts.map +1 -1
- package/dist/ui/login-page.js +572 -146
- package/dist/ui/login-page.js.map +1 -1
- package/dist/ui/qr-renderer.d.ts.map +1 -1
- package/dist/ui/qr-renderer.js +19 -3
- package/dist/ui/qr-renderer.js.map +1 -1
- package/dist/ui/styles.d.ts.map +1 -1
- package/dist/ui/styles.js +113 -22
- package/dist/ui/styles.js.map +1 -1
- package/dist/ui/webauthn-browser.d.ts +1 -0
- package/dist/ui/webauthn-browser.d.ts.map +1 -1
- package/dist/ui/webauthn-browser.js +19 -9
- package/dist/ui/webauthn-browser.js.map +1 -1
- package/package.json +1 -1
|
@@ -80,7 +80,7 @@ export async function runPasskeyAuth(options) {
|
|
|
80
80
|
const txtCreating = texts.creating || t('passkeyCreating', locale);
|
|
81
81
|
const txtVerifying = texts.verifying || t('verifying', locale);
|
|
82
82
|
async function fetchAuthChallenge() {
|
|
83
|
-
const res = await fetch(`${prefix}/auth`, { method: 'GET' });
|
|
83
|
+
const res = await fetch(`${prefix}/auth`, { method: 'GET', signal: options.signal });
|
|
84
84
|
if (!res.ok)
|
|
85
85
|
throw new Error(t('authFailed', locale));
|
|
86
86
|
return res.json();
|
|
@@ -92,7 +92,7 @@ export async function runPasskeyAuth(options) {
|
|
|
92
92
|
if (invitationId)
|
|
93
93
|
params.push(`invitationId=${encodeURIComponent(invitationId)}`);
|
|
94
94
|
const qs = params.length ? `?${params.join('&')}` : '';
|
|
95
|
-
const res = await fetch(`${prefix}/register${qs}`, { method: 'GET' });
|
|
95
|
+
const res = await fetch(`${prefix}/register${qs}`, { method: 'GET', signal: options.signal });
|
|
96
96
|
if (!res.ok)
|
|
97
97
|
throw new Error(t('registrationFailed', locale));
|
|
98
98
|
return res.json();
|
|
@@ -106,6 +106,7 @@ export async function runPasskeyAuth(options) {
|
|
|
106
106
|
async function verifyAuth(challengeId, credential) {
|
|
107
107
|
const res = await fetch(`${prefix}/auth`, {
|
|
108
108
|
method: 'POST',
|
|
109
|
+
signal: options.signal,
|
|
109
110
|
headers: { 'Content-Type': 'application/json' },
|
|
110
111
|
body: JSON.stringify({ challengeId, credential }),
|
|
111
112
|
});
|
|
@@ -118,6 +119,7 @@ export async function runPasskeyAuth(options) {
|
|
|
118
119
|
async function verifyRegister(challengeId, credential, name) {
|
|
119
120
|
const res = await fetch(`${prefix}/register`, {
|
|
120
121
|
method: 'POST',
|
|
122
|
+
signal: options.signal,
|
|
121
123
|
headers: { 'Content-Type': 'application/json' },
|
|
122
124
|
body: JSON.stringify({ challengeId, credential, name: name || undefined }),
|
|
123
125
|
});
|
|
@@ -136,6 +138,7 @@ export async function runPasskeyAuth(options) {
|
|
|
136
138
|
// Support both nested ({ authentication: {...} }) and flattened ({ challenge, rpId, ... }) formats
|
|
137
139
|
const authentication = challengeResult.authentication || challengeResult;
|
|
138
140
|
const authOpts = {
|
|
141
|
+
signal: options.signal,
|
|
139
142
|
publicKey: {
|
|
140
143
|
...authentication,
|
|
141
144
|
challenge: b64urlDecode(authentication.challenge),
|
|
@@ -156,6 +159,10 @@ export async function runPasskeyAuth(options) {
|
|
|
156
159
|
}
|
|
157
160
|
// Fall through to registration phase
|
|
158
161
|
}
|
|
162
|
+
if (!raw && authOnly)
|
|
163
|
+
return { success: false, error: 'no_passkey' };
|
|
164
|
+
if (options.signal?.aborted)
|
|
165
|
+
return { success: false, error: 'cancelled' };
|
|
159
166
|
if (raw) {
|
|
160
167
|
const credential = serializeAuthentication(raw);
|
|
161
168
|
onStatus(txtVerifying, false);
|
|
@@ -172,16 +179,17 @@ export async function runPasskeyAuth(options) {
|
|
|
172
179
|
}
|
|
173
180
|
}
|
|
174
181
|
// Phase 2: registration — check if server allows it
|
|
175
|
-
const challengeData = await fetchRegisterChallenge(options.name || '');
|
|
176
|
-
if (challengeData.registrationAllowed === false) {
|
|
177
|
-
onStatus(t('regClosed', locale), true);
|
|
178
|
-
return { success: false, error: 'registration_closed' };
|
|
179
|
-
}
|
|
180
|
-
onStatus(txtCreating, false);
|
|
181
182
|
try {
|
|
183
|
+
const challengeData = await fetchRegisterChallenge(options.name || '');
|
|
184
|
+
if (challengeData.registrationAllowed === false) {
|
|
185
|
+
onStatus(t('regClosed', locale), true);
|
|
186
|
+
return { success: false, error: 'registration_closed' };
|
|
187
|
+
}
|
|
188
|
+
onStatus(txtCreating, false);
|
|
182
189
|
// Support both flattened (challenge at top) and nested (registration object) formats
|
|
183
190
|
const registration = challengeData.registration || challengeData;
|
|
184
191
|
const regOpts = {
|
|
192
|
+
signal: options.signal,
|
|
185
193
|
publicKey: {
|
|
186
194
|
...registration,
|
|
187
195
|
challenge: b64urlDecode(registration.challenge),
|
|
@@ -196,13 +204,15 @@ export async function runPasskeyAuth(options) {
|
|
|
196
204
|
},
|
|
197
205
|
};
|
|
198
206
|
const raw = (await navigator.credentials.create(regOpts));
|
|
207
|
+
if (!raw || options.signal?.aborted)
|
|
208
|
+
return { success: false, error: t('passkeyNoLocal', locale) };
|
|
199
209
|
const credential = serializeRegistration(raw);
|
|
200
210
|
onStatus(txtVerifying, false);
|
|
201
211
|
await verifyRegister(challengeData.challengeId, credential, options.name || '');
|
|
202
212
|
return { success: true };
|
|
203
213
|
}
|
|
204
214
|
catch (regErr) {
|
|
205
|
-
const errMsg = regErr instanceof Error ? regErr.message : t('passkeySetupFailed', locale);
|
|
215
|
+
const errMsg = regErr instanceof Error && (regErr.name === 'NotAllowedError' || regErr.name === 'AbortError') ? t('passkeyNoLocal', locale) : regErr instanceof Error ? regErr.message : t('passkeySetupFailed', locale);
|
|
206
216
|
const errCode = regErr instanceof Error ? regErr.code : undefined;
|
|
207
217
|
onStatus(errMsg, true);
|
|
208
218
|
return { success: false, error: errMsg, code: errCode };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webauthn-browser.js","sourceRoot":"","sources":["../../src/ui/webauthn-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC;AAE9B,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,uCAAuC;AACvC,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,oEAAoE;AACpE,MAAM,UAAU,qBAAqB,CAAC,IAAyB;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA4C,CAAC;IACnE,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE;YACR,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC3D,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;SACtD;QACD,sBAAsB,EAAE,IAAI,CAAC,yBAAyB,EAAE;QACxD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;KACtD,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,uBAAuB,CAAC,IAAyB;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA0C,CAAC;IACjE,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE;YACR,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC3D,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;YACrD,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SAChF;QACD,sBAAsB,EAAE,IAAI,CAAC,yBAAyB,EAAE;QACxD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;KACtD,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"webauthn-browser.js","sourceRoot":"","sources":["../../src/ui/webauthn-browser.ts"],"names":[],"mappings":"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"}
|