const CREATE_CREDENTIAL_ID = "AQIDBA"; const GET_CREDENTIAL_ID = "BQYHCA"; browser.runtime.onMessage.addListener((message) => { if (message?.type === "PASSKEY_HAS_CREDENTIALS") { return Promise.resolve({ ok: true, hasCredentials: message.payload.allowCredentials[0]?.id === GET_CREDENTIAL_ID }); } if (message?.type === "PASSKEY_CREATE") { if (message.payload.challenge !== "AQIDBA" || message.payload.userId !== "BQYHCA") { return Promise.resolve({ ok: false, error: "corrupted_page_buffer" }); } return Promise.resolve({ ok: true, credential: { type: "create", id: CREATE_CREDENTIAL_ID, clientDataJSON: message.payload.clientDataJSON, attestationObject: "AQ", authenticatorData: "Ag", publicKey: "Aw", algorithm: -7, }, }); } if (message?.type === "PASSKEY_GET") { if (message.payload.challenge !== "AQIDBA" || message.payload.allowCredentials[0]?.id !== GET_CREDENTIAL_ID) { return Promise.resolve({ ok: false, error: "corrupted_page_buffer" }); } return Promise.resolve({ ok: true, credential: { type: "get", id: GET_CREDENTIAL_ID, clientDataJSON: message.payload.clientDataJSON, authenticatorData: "Ag", signature: "Aw", userHandle: "BA", }, }); } return undefined; });