Client with UI
This commit is contained in:
@@ -78,6 +78,9 @@ async function listUserDevicesFido2(rpId = null) {
|
||||
const resp = await response.json();
|
||||
if ('ok' === resp.status && resp.session === session_data.session) {
|
||||
return {status:'ok', devices:resp.devices}
|
||||
} else if (resp.errorMessage && resp.errorMessage.includes('No user session')) {
|
||||
sessionStorage.removeItem(DFIDO2_LIB_LOCALSTG_NAME_USER_SESSION);
|
||||
return {status:'ok', devices:[]}
|
||||
} else {
|
||||
return {status:'failed', errorMessage: resp.errorMessage}
|
||||
}
|
||||
@@ -374,8 +377,8 @@ function makePublicKey(attOptsResp) {
|
||||
rp: attOptsResp.rp,
|
||||
user: {
|
||||
id: _stringToArrayBuffer(attOptsResp.user.id), //_base64ToArrayBuffer(_fromBase64URL(attOptsResp.user.id)),
|
||||
name: attOptsResp.user.name,
|
||||
displayName: attOptsResp.user.displayName,
|
||||
name: attOptsResp.user.name || attOptsResp.user.id || 'user',
|
||||
displayName: attOptsResp.user.displayName || attOptsResp.user.name || attOptsResp.user.id || 'User',
|
||||
},
|
||||
pubKeyCredParams: attOptsResp.pubKeyCredParams,
|
||||
timeout: attOptsResp.timeout,
|
||||
@@ -387,6 +390,10 @@ function makePublicKey(attOptsResp) {
|
||||
|
||||
async function doAttestation(username, displayName, rpId, userVerification = 'preferred') {
|
||||
var process_time_limit = Number.MAX_SAFE_INTEGER
|
||||
if (window._fido2_pending_request) {
|
||||
return {status:'failed', errorMessage: 'Fido2LibErr106:A request is already pending'};
|
||||
}
|
||||
window._fido2_pending_request = true;
|
||||
try {
|
||||
const attestationOptions = {
|
||||
username: username,
|
||||
@@ -472,13 +479,19 @@ async function doAttestation(username, displayName, rpId, userVerification = 'pr
|
||||
errRtn.errCode = fido2LibErrCodes.user_canceled
|
||||
}
|
||||
}else errRtn.errCode = fido2LibErrCodes.unknown
|
||||
|
||||
|
||||
return errRtn;
|
||||
} finally {
|
||||
window._fido2_pending_request = false;
|
||||
}
|
||||
}
|
||||
|
||||
async function doAssertion(username = null, rpId = null, userVerification = 'preferred') {
|
||||
var process_time_limit = Number.MAX_SAFE_INTEGER
|
||||
if (window._fido2_pending_request) {
|
||||
return {status:'failed', errorMessage: 'Fido2LibErr106:A request is already pending'};
|
||||
}
|
||||
window._fido2_pending_request = true;
|
||||
try {
|
||||
let authnOptions;
|
||||
/*
|
||||
@@ -584,8 +597,10 @@ async function doAssertion(username = null, rpId = null, userVerification = 'pre
|
||||
errRtn.errCode = fido2LibErrCodes.user_canceled
|
||||
}
|
||||
}else errRtn.errCode = fido2LibErrCodes.unknown
|
||||
|
||||
|
||||
return errRtn;
|
||||
} finally {
|
||||
window._fido2_pending_request = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user