diff --git a/app/assets/javascripts/authenticateSecurityKey.js b/app/assets/javascripts/authenticateSecurityKey.js
index 9a39236e3..5ce70578a 100644
--- a/app/assets/javascripts/authenticateSecurityKey.js
+++ b/app/assets/javascripts/authenticateSecurityKey.js
@@ -7,6 +7,9 @@
.on('click', function (event) {
event.preventDefault();
+ // hide any existing error prompt
+ window.GOVUK.ErrorBanner.hideBanner();
+
fetch('/webauthn/authenticate')
.then(response => {
if (!response.ok) {
@@ -67,9 +70,8 @@
.catch(error => {
console.error(error);
// some browsers will show an error dialogue for some
- // errors; to be safe we always pop up an alert
- var message = error.message || error;
- alert('Error during authentication.\n\n' + message);
+ // errors; to be safe we always display an error message on the page.
+ window.GOVUK.ErrorBanner.showBanner('Something went wrong');
});
});
};
diff --git a/app/assets/javascripts/registerSecurityKey.js b/app/assets/javascripts/registerSecurityKey.js
index 2e3280e40..39005c29c 100644
--- a/app/assets/javascripts/registerSecurityKey.js
+++ b/app/assets/javascripts/registerSecurityKey.js
@@ -7,6 +7,9 @@
.on('click', function(event) {
event.preventDefault();
+ // hide any existing error prompt
+ window.GOVUK.ErrorBanner.hideBanner();
+
fetch('/webauthn/register')
.then((response) => {
if (!response.ok) {
@@ -44,9 +47,9 @@
.catch((error) => {
console.error(error);
// some browsers will show an error dialogue for some
- // errors; to be safe we always pop up an alert
- var message = error.message || error;
- alert('Error during registration.\n\n' + message);
+ // errors; to be safe we always display an error message on the page.
+ const message = error.message || error;
+ window.GOVUK.ErrorBanner.showBanner('Something went wrong');
});
});
};
diff --git a/app/templates/views/two-factor-webauthn.html b/app/templates/views/two-factor-webauthn.html
index 0221e553e..9fd6a339a 100644
--- a/app/templates/views/two-factor-webauthn.html
+++ b/app/templates/views/two-factor-webauthn.html
@@ -21,6 +21,15 @@
{% block maincolumn_content %}
+ {{ govukErrorMessage({
+ "classes": "banner-dangerous govuk-!-display-none",
+ "text": "There was a javascript error.",
+ "attributes": {
+ "aria-live": "polite",
+ "tabindex": '-1'
+ }
+ }) }}
+