Wait for content to be loaded before U2F actions

This commit is contained in:
Dennis Reimann 2020-12-01 14:31:42 +01:00
parent ad05f479a8
commit 445606e2b1
No known key found for this signature in database
GPG key ID: 5009E1797F03F8D0
2 changed files with 32 additions and 28 deletions

View file

@ -32,19 +32,21 @@
<script src="~/vendor/u2f/u2f-api-1.1.1.js" asp-append-version="true"></script>
<script type="text/javascript">
window.u2fApi.sign(
@Safe.Json(Model.Challenges)
)
.then(data => {
document.getElementById("DeviceResponse").value = JSON.stringify(data);
document.getElementById("u2fForm").submit();
})
.catch(error => {
document.getElementById("error-message").innerText = error.message;
document.getElementById("error-message").classList.remove("d-none");
document.getElementById("spinner").classList.add("d-none");
if (!error.message.endsWith("not supported")) {
document.getElementById("btn-retry").classList.remove("d-none");
}
document.addEventListener("DOMContentLoaded", () => {
window.u2fApi.sign(
@Safe.Json(Model.Challenges)
)
.then(data => {
document.getElementById("DeviceResponse").value = JSON.stringify(data);
document.getElementById("u2fForm").submit();
})
.catch(error => {
document.getElementById("error-message").innerText = error.message;
document.getElementById("error-message").classList.remove("d-none");
document.getElementById("spinner").classList.add("d-none");
if (!error.message.endsWith("not supported")) {
document.getElementById("btn-retry").classList.remove("d-none");
}
});
});
</script>

View file

@ -34,20 +34,22 @@
@section Scripts {
<script src="~/vendor/u2f/u2f-api-1.1.1.js" asp-append-version="true"></script>
<script type="text/javascript">
window.u2fApi.register([{
appId: @Safe.Json(Model.AppId),
version: @Safe.Json(Model.Version),
challenge: @Safe.Json(Model.Challenge)
}])
.then(data => {
document.getElementById("DeviceResponse").value = JSON.stringify(data);
document.getElementById("registerForm").submit();
})
.catch(message => {
document.getElementById("error-message").classList.remove("d-none");
document.getElementById("error-message").innerText = message;
document.getElementById("btn-back").innerText = "Retry";
document.getElementById("spinner").classList.add("d-none");
document.addEventListener("DOMContentLoaded", () => {
window.u2fApi.register([{
appId: @Safe.Json(Model.AppId),
version: @Safe.Json(Model.Version),
challenge: @Safe.Json(Model.Challenge)
}])
.then(data => {
document.getElementById("DeviceResponse").value = JSON.stringify(data);
document.getElementById("registerForm").submit();
})
.catch(message => {
document.getElementById("error-message").classList.remove("d-none");
document.getElementById("error-message").innerText = message;
document.getElementById("btn-back").innerText = "Retry";
document.getElementById("spinner").classList.add("d-none");
});
});
</script>
}