INNER CODE UNIT · JavaScript
register
mylofi/webauthn-local-client · src/walc.js:140
async function register(regOptions = regDefaults()) {
try {
if (supportsWebAuthn) {
// ensure credential IDs are binary (not base64 string)
regOptions[regOptions[credentialTypeKey]].excludeCredentials = (
normalizeCredentialsList(
regOptions[regOptions[credentialTypeKey]].excludeCredentials
)
);
let regResult = await navigator.credentials.create(regOptions);
let regClientDataRaw = new Uint8Array(regResult.response.clientDataJSON);
let regClientData = JSON.parse(toUTF8String(regClientDataRaw));
if (regClientData.type != "webauthn.create") {
throw new Error("Invalid registration response");
}
let expectedChallenge = sodium.to_base64(