2020-01-15 18:27:12 +08:00
|
|
|
import { getWebauthnCredential } from "discourse/lib/webauthn";
|
|
|
|
|
2020-03-11 21:43:55 +08:00
|
|
|
const security = document.getElementById("submit-security-key");
|
|
|
|
if (security) {
|
|
|
|
security.onclick = function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
getWebauthnCredential(
|
|
|
|
document.getElementById("security-key-challenge").value,
|
|
|
|
document
|
|
|
|
.getElementById("security-key-allowed-credential-ids")
|
|
|
|
.value.split(","),
|
|
|
|
(credentialData) => {
|
2022-07-06 16:37:54 +08:00
|
|
|
document.getElementById("security-key-credential").value =
|
|
|
|
JSON.stringify(credentialData);
|
2020-01-15 18:27:12 +08:00
|
|
|
|
2023-04-25 20:40:18 +08:00
|
|
|
e.target.closest("form").submit();
|
2020-03-11 21:43:55 +08:00
|
|
|
},
|
|
|
|
(errorMessage) => {
|
2023-04-25 20:40:18 +08:00
|
|
|
document.getElementById(
|
|
|
|
"security-key-error"
|
|
|
|
).innerHTML = `<div class="alert alert-error"></div>`;
|
|
|
|
document.querySelector("#security-key-error .alert").innerText =
|
|
|
|
errorMessage;
|
2020-03-11 21:43:55 +08:00
|
|
|
}
|
|
|
|
);
|
|
|
|
};
|
|
|
|
}
|