mirror of
https://github.com/shuaiplus/nodewarden.git
synced 2026-06-23 05:50:14 +00:00
feat: add passkey unlock functionality and improve related error handling
This commit is contained in:
@@ -420,7 +420,7 @@ export async function performPasswordLogin(
|
||||
};
|
||||
}
|
||||
|
||||
export async function performPasskeyLogin(fallbackIterations: number): Promise<PasskeyLoginResult> {
|
||||
export async function performPasskeyLogin(fallbackIterations: number, expectedEmail?: string): Promise<PasskeyLoginResult> {
|
||||
try {
|
||||
const options = await getAccountPasskeyAssertionOptions();
|
||||
const assertion = await assertAccountPasskey(options);
|
||||
@@ -438,6 +438,10 @@ export async function performPasskeyLogin(fallbackIterations: number): Promise<P
|
||||
if (!email) {
|
||||
return { kind: 'error', message: t('txt_login_failed') };
|
||||
}
|
||||
const normalizedExpectedEmail = String(expectedEmail || '').trim().toLowerCase();
|
||||
if (normalizedExpectedEmail && email !== normalizedExpectedEmail) {
|
||||
return { kind: 'error', message: t('txt_passkey_not_for_locked_account') };
|
||||
}
|
||||
|
||||
const prfOption = readPasskeyPrfOption(token);
|
||||
if (prfOption && assertion.prfKey) {
|
||||
|
||||
Reference in New Issue
Block a user