new configuration version

This commit is contained in:
admin 2024-07-30 14:21:12 +00:00
parent 5fb0cb5459
commit 9569c336b2
112 changed files with 441 additions and 326 deletions

View File

@ -27,20 +27,25 @@ spec:
livenessProbe:
soap:
tcpSocket: true
initialDelaySeconds: 40
periodSeconds: 20
periodSeconds: 5
timeoutSeconds: 4
readinessProbe:
management:
httpGet:
path: "/nevisauth/liveness"
initialDelaySeconds: 40
periodSeconds: 30
periodSeconds: 5
timeoutSeconds: 6
startupProbe:
management:
httpGet:
path: "/nevisauth/liveness"
periodSeconds: 5
timeoutSeconds: 6
failureThreshold: 50
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-c8a2ac2ea6277d4f605767f8eb567015feac6dec"
tag: "r-937b0c071785a44df35dbbfe5a32b4cd60dc6198"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/auth"
credentials: "git-credentials"
keystores:

View File

@ -1,8 +1,8 @@
RTENV_SECURITY_CHECK=no_shell
JAVA_OPTS=(
"-Dfile.encoding=UTF-8"
"-XX:+UseContainerSupport"
"-Dfile.encoding=UTF-8"
"-XX:MaxRAMPercentage=80.0"
"-Djava.net.preferIPv4Stack=true"
"-Djava.net.connectionTimeout=10000"

View File

@ -1,4 +1,4 @@
otel.service.name=auth
otel.traces.exporter=none
otel.metrics.exporter=none
otel.logs.exporter=none
otel.service.name = auth
otel.traces.exporter = none
otel.metrics.exporter = none
otel.logs.exporter = none

View File

@ -28,20 +28,25 @@ spec:
management:
httpGet:
path: "/liveness"
initialDelaySeconds: 40
periodSeconds: 30
timeoutSeconds: 6
readinessProbe:
management:
httpGet:
path: "/health"
initialDelaySeconds: 40
periodSeconds: 30
timeoutSeconds: 6
startupProbe:
management:
httpGet:
path: "/health"
periodSeconds: 30
timeoutSeconds: 6
failureThreshold: 10
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-c8a2ac2ea6277d4f605767f8eb567015feac6dec"
tag: "r-937b0c071785a44df35dbbfe5a32b4cd60dc6198"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/idm-job"
credentials: "git-credentials"
keystores:

View File

@ -1 +1,8 @@
JAVA_OPTS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=80.0 -javaagent:/opt/agent/opentelemetry-javaagent.jar -Dotel.javaagent.logging=application -Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties -Dotel.resource.attributes=service.version=8.2405.1,service.instance.id=$HOSTNAME"
JAVA_OPTS=(
"-XX:+UseContainerSupport"
"-XX:MaxRAMPercentage=80.0"
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2405.1,service.instance.id=$HOSTNAME"
)

View File

@ -93,6 +93,8 @@ server.host=0.0.0.0
# source: pattern://641ac4edf0c17383d3c0ea38
server.tls.enabled=true
# source: pattern://641ac4edf0c17383d3c0ea38
server.tls.client-auth=requested
# source: pattern://641ac4edf0c17383d3c0ea38
server.tls.keystore=/var/opt/keys/own/idm-job-default-identity/keystore.p12
# source: pattern://641ac4edf0c17383d3c0ea38
server.tls.keystore-passphrase=${exec:/var/opt/keys/own/idm-job-default-identity/keypass}

View File

@ -1,4 +1,4 @@
otel.service.name=idm-job
otel.traces.exporter=none
otel.metrics.exporter=none
otel.logs.exporter=none
otel.service.name = idm-job
otel.traces.exporter = none
otel.metrics.exporter = none
otel.logs.exporter = none

View File

@ -28,20 +28,25 @@ spec:
management:
httpGet:
path: "/liveness"
initialDelaySeconds: 40
periodSeconds: 30
timeoutSeconds: 6
readinessProbe:
management:
httpGet:
path: "/health"
initialDelaySeconds: 40
periodSeconds: 30
timeoutSeconds: 6
startupProbe:
management:
httpGet:
path: "/health"
periodSeconds: 30
timeoutSeconds: 6
failureThreshold: 10
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-c8a2ac2ea6277d4f605767f8eb567015feac6dec"
tag: "r-937b0c071785a44df35dbbfe5a32b4cd60dc6198"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/idm"
credentials: "git-credentials"
database:

View File

@ -1 +1,8 @@
JAVA_OPTS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=80.0 -javaagent:/opt/agent/opentelemetry-javaagent.jar -Dotel.javaagent.logging=application -Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties -Dotel.resource.attributes=service.version=8.2405.1,service.instance.id=$HOSTNAME"
JAVA_OPTS=(
"-XX:+UseContainerSupport"
"-XX:MaxRAMPercentage=80.0"
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2405.1,service.instance.id=$HOSTNAME"
)

View File

@ -97,6 +97,8 @@ server.host=0.0.0.0
# source: pattern://ba7c7a3b091df0c4b8ba0bb2
server.tls.enabled=true
# source: pattern://ba7c7a3b091df0c4b8ba0bb2
server.tls.client-auth=requested
# source: pattern://ba7c7a3b091df0c4b8ba0bb2
server.tls.keystore=/var/opt/keys/own/idm-default-identity/keystore.p12
# source: pattern://ba7c7a3b091df0c4b8ba0bb2
server.tls.keystore-passphrase=${exec:/var/opt/keys/own/idm-default-identity/keypass}

View File

@ -1,4 +1,4 @@
otel.service.name=idm
otel.traces.exporter=none
otel.metrics.exporter=none
otel.logs.exporter=none
otel.service.name = idm
otel.traces.exporter = none
otel.metrics.exporter = none
otel.logs.exporter = none

View File

@ -28,19 +28,23 @@ spec:
management:
httpGet:
path: "/nevislogrend/liveness"
initialDelaySeconds: 40
periodSeconds: 30
periodSeconds: 5
timeoutSeconds: 6
readinessProbe:
server:
tcpSocket: true
initialDelaySeconds: 40
periodSeconds: 20
periodSeconds: 5
timeoutSeconds: 4
startupProbe:
server:
tcpSocket: true
periodSeconds: 5
timeoutSeconds: 4
failureThreshold: 50
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-c8a2ac2ea6277d4f605767f8eb567015feac6dec"
tag: "r-937b0c071785a44df35dbbfe5a32b4cd60dc6198"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/logrend"
credentials: "git-credentials"
podSecurity:

View File

@ -4,8 +4,8 @@ RTENV_SECURITY_CHECK=no_shell
LOGREND_DEPLOY_TYPE=standalone
JAVA_OPTS=(
"-Dfile.encoding=UTF-8"
"-XX:+UseContainerSupport"
"-Dfile.encoding=UTF-8"
"-XX:MaxRAMPercentage=80.0"
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"

View File

@ -1,4 +1,4 @@
otel.service.name=logrend
otel.traces.exporter=none
otel.metrics.exporter=none
otel.logs.exporter=none
otel.service.name = logrend
otel.traces.exporter = none
otel.metrics.exporter = none
otel.logs.exporter = none

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initFido'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initQRCode'));
});

View File

@ -0,0 +1,4 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initModal'));
document.dispatchEvent(new Event('initCode'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initBlurCode'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initFido'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -0,0 +1,9 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initAnswer'));
});
// eslint-disable-next-line no-unused-vars
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
document.getElementById('buttons').style.marginTop = value ? '16px' : '8px';
}

View File

@ -0,0 +1,9 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initAnswer'));
});
// eslint-disable-next-line no-unused-vars
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
console.log(document.getElementById('errorBanner').style.display);
}

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -19,12 +19,12 @@
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8">
<div class="flex flex-row items-center justify-between">
#set ($emailInput = $gui.getGuiElem('email'))
#if ($emailInput && $emailInput.value && $emailInput.value.length() > 0)
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate">$utils.escapeHtmlAttribute($emailInput.value)</p>
#else
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate"></p>
#end
#set ($emailInput = $gui.getGuiElem('email'))
#if ($emailInput && $emailInput.value && $emailInput.value.length() > 0)
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate">$utils.escapeHtmlAttribute($emailInput.value)</p>
#else
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate"></p>
#end
<agov-button
class="shrink-0"
data-style="frameless"
@ -52,19 +52,22 @@
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">1</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction1")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction1")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">2</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction2")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction2")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">3</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction3")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction3")</p>
</div>
</div>
@ -119,10 +122,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initFido'));
});
<script src="${login.appDataPath}/static/js-code/fido2_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -3,7 +3,7 @@
$text.get("footer.text")
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
</div>
<p>1.4.4.23-20240603T135747Z</p>
<p>1.5.3.51-20240709T140654Z</p>
</footer>
<script src="${login.appDataPath}/static/bundle.js"></script>
</body>

View File

@ -15,14 +15,17 @@
<h2 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.authenticate")</h2>
</div>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get("recovery_accessapp_auth.accessAppRegistered")</h3>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get(
"recovery_accessapp_auth.accessAppRegistered")</h3>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
${text.get("recovery_accessapp_auth.instruction1").replaceAll("!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
${text.get("recovery_accessapp_auth.instruction1").replaceAll(
"!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
</p>
<p class="font-body text-body-l text-space-blue dark:text-white mb-8">
${text.get("recovery_accessapp_auth.instruction2").replaceAll("!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
${text.get("recovery_accessapp_auth.instruction2").replaceAll(
"!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
</p>
<div id="accessAppModal" class="h-full">
@ -55,7 +58,8 @@
</div>
<div class="relative flex flex-col h-full">
<div id="blurBackdrop" class="absolute backdrop-blur-sm top-0 bottom-0 -left-4 -right-4 z-10" style="display:none "></div>
<div id="blurBackdrop" class="absolute backdrop-blur-sm top-0 bottom-0 -left-4 -right-4 z-10"
style="display:none "></div>
<div class="mobileBanner relative z-20" aria-live="assertive">
<div style="display: none"
class="info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center p-4 mb-4">
@ -83,7 +87,8 @@
</p>
</div>
</div>
<div id="agovLoginImageMobile" style="display: none" class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
<div id="agovLoginImageMobile" style="display: none"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
<img alt=""
src="${login.appDataPath}/static/images/recovery.svg"
class="block sm:hidden md:block dark:hidden w-full">
@ -94,12 +99,14 @@
</div>
<div id="QRCodeHolder">
<div class="relative">
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="mauth_qrcode" class="mb-4 mx-auto"></canvas>
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="mauth_qrcode"
class="mb-4 mx-auto"></canvas>
<div class="hidden" id="QRcodeHiddenLink"></div>
<span id="spinner" class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-20"
style="display: none">
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
<img src="${login.appDataPath}/static/images/spinner-dark.svg"
class="animate-spin hidden dark:block">
</span>
</div>
@ -147,7 +154,8 @@
data-name="EID"
data-value="EID"
data-id="EID"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get("mauth_usernameless.showQR")"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
"mauth_usernameless.showQR")"
data-type="button"
data-fullwidth="true">
</agov-button>
@ -160,7 +168,8 @@
data-name="EID"
data-value="EID"
data-id="EID"
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get("mauth_usernameless.hideQR")"
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
"mauth_usernameless.hideQR")"
data-type="button"
data-fullwidth="true">
</agov-button>
@ -179,10 +188,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initQRCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_accessapp_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -13,12 +13,12 @@
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("recovery_check_code.noCodeAccess")
$text.get("recovery_check_code.noCodeAccess")
</h4>
<div id="modalDescription" class="mb-20">
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_check_code.noCodeAccessInstructions")
$text.get("recovery_check_code.noCodeAccessInstructions")
</p>
</div>
@ -57,21 +57,21 @@
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.entryCode")</h4>
</div>
#set($error = $gui.getGuiElem("lasterror"))
#if (($error.value && $error.value != ""))
#set($error = $gui.getGuiElem("lasterror"))
#if (($error.value && $error.value != ""))
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-6">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_check_code.codeIncorrect")
$text.get("recovery_check_code.codeIncorrect")
</p>
</div>
#end
#end
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_check_code.instruction")
$text.get("recovery_check_code.instruction")
</p>
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
@ -131,11 +131,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initModal'));
document.dispatchEvent(new Event('initCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
</script>

View File

@ -1,6 +1,7 @@
#parse("${templatePath}/header.vm")
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll('^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll(
'^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($concat = "recovery/pdf?authToken=")
#set ($PDFLink = "$PDFRecoveryTarget$concat$gui.getGuiElem('pdfAuthToken').value")
@ -13,10 +14,12 @@
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">$text.get("general.login")</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("recovery_code.newRecoveryCode")</h4>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get(
"recovery_code.newRecoveryCode")</h4>
</div>
<div id="codeNotSeen" class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
@ -67,8 +70,9 @@
</agov-button>
</a>
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off" accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
<div class="flex flex-col flex-row-reverse gap-4">
@ -95,10 +99,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initBlurCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_code.js">
</script>

View File

@ -15,14 +15,17 @@
<h2 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.authenticate")</h2>
</div>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get("recovery_fidokey_auth.keyRegistered")</h3>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get(
"recovery_fidokey_auth.keyRegistered")</h3>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
${text.get("recovery_fidokey_auth.instruction1").replaceAll("!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
${text.get("recovery_fidokey_auth.instruction1").replaceAll(
"!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
</p>
<p class="font-body text-body-l text-space-blue dark:text-white mb-8">
${text.get("recovery_fidokey_auth.instruction2").replaceAll("!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
${text.get("recovery_fidokey_auth.instruction2").replaceAll(
"!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
</p>
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
@ -38,19 +41,22 @@
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">1</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("recovery_fidokey_auth.fidoInstruction")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"recovery_fidokey_auth.fidoInstruction")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">2</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction2")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction2")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">3</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction3")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction3")</p>
</div>
</div>
@ -71,10 +77,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initFido'));
});
<script src="${login.appDataPath}/static/js-code/recovery_fidokey_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -185,10 +185,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initEmail'));
});
<script src="${login.appDataPath}/static/js-code/recovery_intro_email.js">
</script>

View File

@ -41,17 +41,14 @@
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
<img alt="" src="${login.appDataPath}/static/js-code/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initEmail'));
});
<script src="${login.appDataPath}/static/js-code/recovery_intro_email_sent.js">
</script>

View File

@ -69,15 +69,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initAnswer'));
});
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
document.getElementById('buttons').style.marginTop = value ? '16px' : '8px';
}
<script src="${login.appDataPath}/static/js-code/recovery_questionnaire_loginfactor.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -88,15 +88,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initAnswer'));
});
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
console.log(document.getElementById('errorBanner').style.display);
}
<script src="${login.appDataPath}/static/js-code/recovery_questionnaire_reason_selection.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -158,10 +158,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initEmail'));
});
<script src="${login.appDataPath}/static/js-code/user_input.js">
</script>

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initFido'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initQRCode'));
});

View File

@ -0,0 +1,4 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initModal'));
document.dispatchEvent(new Event('initCode'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initBlurCode'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initFido'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -0,0 +1,9 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initAnswer'));
});
// eslint-disable-next-line no-unused-vars
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
document.getElementById('buttons').style.marginTop = value ? '16px' : '8px';
}

View File

@ -0,0 +1,9 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initAnswer'));
});
// eslint-disable-next-line no-unused-vars
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
console.log(document.getElementById('errorBanner').style.display);
}

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -19,12 +19,12 @@
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8">
<div class="flex flex-row items-center justify-between">
#set ($emailInput = $gui.getGuiElem('email'))
#if ($emailInput && $emailInput.value && $emailInput.value.length() > 0)
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate">$utils.escapeHtmlAttribute($emailInput.value)</p>
#else
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate"></p>
#end
#set ($emailInput = $gui.getGuiElem('email'))
#if ($emailInput && $emailInput.value && $emailInput.value.length() > 0)
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate">$utils.escapeHtmlAttribute($emailInput.value)</p>
#else
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate"></p>
#end
<agov-button
class="shrink-0"
data-style="frameless"
@ -52,19 +52,22 @@
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">1</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction1")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction1")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">2</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction2")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction2")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">3</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction3")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction3")</p>
</div>
</div>
@ -119,10 +122,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initFido'));
});
<script src="${login.appDataPath}/static/js-code/fido2_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -3,7 +3,7 @@
$text.get("footer.text")
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
</div>
<p>1.4.4.23-20240603T135747Z</p>
<p>1.5.3.51-20240709T140654Z</p>
</footer>
<script src="${login.appDataPath}/static/bundle.js"></script>
</body>

View File

@ -15,14 +15,17 @@
<h2 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.authenticate")</h2>
</div>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get("recovery_accessapp_auth.accessAppRegistered")</h3>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get(
"recovery_accessapp_auth.accessAppRegistered")</h3>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
${text.get("recovery_accessapp_auth.instruction1").replaceAll("!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
${text.get("recovery_accessapp_auth.instruction1").replaceAll(
"!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
</p>
<p class="font-body text-body-l text-space-blue dark:text-white mb-8">
${text.get("recovery_accessapp_auth.instruction2").replaceAll("!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
${text.get("recovery_accessapp_auth.instruction2").replaceAll(
"!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
</p>
<div id="accessAppModal" class="h-full">
@ -55,7 +58,8 @@
</div>
<div class="relative flex flex-col h-full">
<div id="blurBackdrop" class="absolute backdrop-blur-sm top-0 bottom-0 -left-4 -right-4 z-10" style="display:none "></div>
<div id="blurBackdrop" class="absolute backdrop-blur-sm top-0 bottom-0 -left-4 -right-4 z-10"
style="display:none "></div>
<div class="mobileBanner relative z-20" aria-live="assertive">
<div style="display: none"
class="info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center p-4 mb-4">
@ -83,7 +87,8 @@
</p>
</div>
</div>
<div id="agovLoginImageMobile" style="display: none" class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
<div id="agovLoginImageMobile" style="display: none"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
<img alt=""
src="${login.appDataPath}/static/images/recovery.svg"
class="block sm:hidden md:block dark:hidden w-full">
@ -94,12 +99,14 @@
</div>
<div id="QRCodeHolder">
<div class="relative">
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="mauth_qrcode" class="mb-4 mx-auto"></canvas>
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="mauth_qrcode"
class="mb-4 mx-auto"></canvas>
<div class="hidden" id="QRcodeHiddenLink"></div>
<span id="spinner" class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-20"
style="display: none">
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
<img src="${login.appDataPath}/static/images/spinner-dark.svg"
class="animate-spin hidden dark:block">
</span>
</div>
@ -147,7 +154,8 @@
data-name="EID"
data-value="EID"
data-id="EID"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get("mauth_usernameless.showQR")"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
"mauth_usernameless.showQR")"
data-type="button"
data-fullwidth="true">
</agov-button>
@ -160,7 +168,8 @@
data-name="EID"
data-value="EID"
data-id="EID"
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get("mauth_usernameless.hideQR")"
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
"mauth_usernameless.hideQR")"
data-type="button"
data-fullwidth="true">
</agov-button>
@ -179,10 +188,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initQRCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_accessapp_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -13,12 +13,12 @@
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("recovery_check_code.noCodeAccess")
$text.get("recovery_check_code.noCodeAccess")
</h4>
<div id="modalDescription" class="mb-20">
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_check_code.noCodeAccessInstructions")
$text.get("recovery_check_code.noCodeAccessInstructions")
</p>
</div>
@ -57,21 +57,21 @@
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.entryCode")</h4>
</div>
#set($error = $gui.getGuiElem("lasterror"))
#if (($error.value && $error.value != ""))
#set($error = $gui.getGuiElem("lasterror"))
#if (($error.value && $error.value != ""))
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-6">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_check_code.codeIncorrect")
$text.get("recovery_check_code.codeIncorrect")
</p>
</div>
#end
#end
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_check_code.instruction")
$text.get("recovery_check_code.instruction")
</p>
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
@ -131,11 +131,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initModal'));
document.dispatchEvent(new Event('initCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
</script>

View File

@ -1,6 +1,7 @@
#parse("${templatePath}/header.vm")
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll('^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll(
'^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($concat = "recovery/pdf?authToken=")
#set ($PDFLink = "$PDFRecoveryTarget$concat$gui.getGuiElem('pdfAuthToken').value")
@ -13,10 +14,12 @@
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">$text.get("general.login")</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("recovery_code.newRecoveryCode")</h4>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get(
"recovery_code.newRecoveryCode")</h4>
</div>
<div id="codeNotSeen" class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
@ -67,8 +70,9 @@
</agov-button>
</a>
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off" accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
<div class="flex flex-col flex-row-reverse gap-4">
@ -95,10 +99,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initBlurCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_code.js">
</script>

View File

@ -15,14 +15,17 @@
<h2 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.authenticate")</h2>
</div>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get("recovery_fidokey_auth.keyRegistered")</h3>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get(
"recovery_fidokey_auth.keyRegistered")</h3>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
${text.get("recovery_fidokey_auth.instruction1").replaceAll("!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
${text.get("recovery_fidokey_auth.instruction1").replaceAll(
"!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
</p>
<p class="font-body text-body-l text-space-blue dark:text-white mb-8">
${text.get("recovery_fidokey_auth.instruction2").replaceAll("!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
${text.get("recovery_fidokey_auth.instruction2").replaceAll(
"!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
</p>
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
@ -38,19 +41,22 @@
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">1</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("recovery_fidokey_auth.fidoInstruction")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"recovery_fidokey_auth.fidoInstruction")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">2</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction2")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction2")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">3</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction3")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction3")</p>
</div>
</div>
@ -71,10 +77,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initFido'));
});
<script src="${login.appDataPath}/static/js-code/recovery_fidokey_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -185,10 +185,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initEmail'));
});
<script src="${login.appDataPath}/static/js-code/recovery_intro_email.js">
</script>

View File

@ -41,17 +41,14 @@
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
<img alt="" src="${login.appDataPath}/static/js-code/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initEmail'));
});
<script src="${login.appDataPath}/static/js-code/recovery_intro_email_sent.js">
</script>

View File

@ -69,15 +69,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initAnswer'));
});
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
document.getElementById('buttons').style.marginTop = value ? '16px' : '8px';
}
<script src="${login.appDataPath}/static/js-code/recovery_questionnaire_loginfactor.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -88,15 +88,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initAnswer'));
});
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
console.log(document.getElementById('errorBanner').style.display);
}
<script src="${login.appDataPath}/static/js-code/recovery_questionnaire_reason_selection.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -158,10 +158,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initEmail'));
});
<script src="${login.appDataPath}/static/js-code/user_input.js">
</script>

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initFido'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initQRCode'));
});

View File

@ -0,0 +1,4 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initModal'));
document.dispatchEvent(new Event('initCode'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initBlurCode'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initFido'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -0,0 +1,9 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initAnswer'));
});
// eslint-disable-next-line no-unused-vars
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
document.getElementById('buttons').style.marginTop = value ? '16px' : '8px';
}

View File

@ -0,0 +1,9 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initAnswer'));
});
// eslint-disable-next-line no-unused-vars
function setErrorBanner(value) {
document.getElementById('errorBanner').style.display = value ? 'none' : 'flex';
console.log(document.getElementById('errorBanner').style.display);
}

View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('initEmail'));
});

View File

@ -19,12 +19,12 @@
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8">
<div class="flex flex-row items-center justify-between">
#set ($emailInput = $gui.getGuiElem('email'))
#if ($emailInput && $emailInput.value && $emailInput.value.length() > 0)
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate">$utils.escapeHtmlAttribute($emailInput.value)</p>
#else
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate"></p>
#end
#set ($emailInput = $gui.getGuiElem('email'))
#if ($emailInput && $emailInput.value && $emailInput.value.length() > 0)
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate">$utils.escapeHtmlAttribute($emailInput.value)</p>
#else
<p class="text-space-blue dark:text-white font-body-semi text-body-l truncate"></p>
#end
<agov-button
class="shrink-0"
data-style="frameless"
@ -52,19 +52,22 @@
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">1</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction1")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction1")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">2</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction2")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction2")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">3</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction3")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction3")</p>
</div>
</div>
@ -119,10 +122,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initFido'));
});
<script src="${login.appDataPath}/static/js-code/fido2_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -3,7 +3,7 @@
$text.get("footer.text")
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
</div>
<p>1.4.4.23-20240603T135747Z</p>
<p>1.5.3.51-20240709T140654Z</p>
</footer>
<script src="${login.appDataPath}/static/bundle.js"></script>
</body>

View File

@ -15,14 +15,17 @@
<h2 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.authenticate")</h2>
</div>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get("recovery_accessapp_auth.accessAppRegistered")</h3>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get(
"recovery_accessapp_auth.accessAppRegistered")</h3>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
${text.get("recovery_accessapp_auth.instruction1").replaceAll("!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
${text.get("recovery_accessapp_auth.instruction1").replaceAll(
"!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
</p>
<p class="font-body text-body-l text-space-blue dark:text-white mb-8">
${text.get("recovery_accessapp_auth.instruction2").replaceAll("!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
${text.get("recovery_accessapp_auth.instruction2").replaceAll(
"!!!ACCESS_APP_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('accessApp').value)")}
</p>
<div id="accessAppModal" class="h-full">
@ -55,7 +58,8 @@
</div>
<div class="relative flex flex-col h-full">
<div id="blurBackdrop" class="absolute backdrop-blur-sm top-0 bottom-0 -left-4 -right-4 z-10" style="display:none "></div>
<div id="blurBackdrop" class="absolute backdrop-blur-sm top-0 bottom-0 -left-4 -right-4 z-10"
style="display:none "></div>
<div class="mobileBanner relative z-20" aria-live="assertive">
<div style="display: none"
class="info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center p-4 mb-4">
@ -83,7 +87,8 @@
</p>
</div>
</div>
<div id="agovLoginImageMobile" style="display: none" class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
<div id="agovLoginImageMobile" style="display: none"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
<img alt=""
src="${login.appDataPath}/static/images/recovery.svg"
class="block sm:hidden md:block dark:hidden w-full">
@ -94,12 +99,14 @@
</div>
<div id="QRCodeHolder">
<div class="relative">
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="mauth_qrcode" class="mb-4 mx-auto"></canvas>
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="mauth_qrcode"
class="mb-4 mx-auto"></canvas>
<div class="hidden" id="QRcodeHiddenLink"></div>
<span id="spinner" class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-20"
style="display: none">
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
<img src="${login.appDataPath}/static/images/spinner-dark.svg"
class="animate-spin hidden dark:block">
</span>
</div>
@ -147,7 +154,8 @@
data-name="EID"
data-value="EID"
data-id="EID"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get("mauth_usernameless.showQR")"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
"mauth_usernameless.showQR")"
data-type="button"
data-fullwidth="true">
</agov-button>
@ -160,7 +168,8 @@
data-name="EID"
data-value="EID"
data-id="EID"
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get("mauth_usernameless.hideQR")"
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
"mauth_usernameless.hideQR")"
data-type="button"
data-fullwidth="true">
</agov-button>
@ -179,10 +188,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initQRCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_accessapp_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -13,12 +13,12 @@
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("recovery_check_code.noCodeAccess")
$text.get("recovery_check_code.noCodeAccess")
</h4>
<div id="modalDescription" class="mb-20">
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_check_code.noCodeAccessInstructions")
$text.get("recovery_check_code.noCodeAccessInstructions")
</p>
</div>
@ -57,21 +57,21 @@
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.entryCode")</h4>
</div>
#set($error = $gui.getGuiElem("lasterror"))
#if (($error.value && $error.value != ""))
#set($error = $gui.getGuiElem("lasterror"))
#if (($error.value && $error.value != ""))
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-6">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_check_code.codeIncorrect")
$text.get("recovery_check_code.codeIncorrect")
</p>
</div>
#end
#end
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_check_code.instruction")
$text.get("recovery_check_code.instruction")
</p>
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
@ -131,11 +131,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initModal'));
document.dispatchEvent(new Event('initCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
</script>

View File

@ -1,6 +1,7 @@
#parse("${templatePath}/header.vm")
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll('^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll(
'^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($concat = "recovery/pdf?authToken=")
#set ($PDFLink = "$PDFRecoveryTarget$concat$gui.getGuiElem('pdfAuthToken').value")
@ -13,10 +14,12 @@
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">$text.get("general.login")</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("recovery_code.newRecoveryCode")</h4>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get(
"recovery_code.newRecoveryCode")</h4>
</div>
<div id="codeNotSeen" class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
@ -67,8 +70,9 @@
</agov-button>
</a>
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off" accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block ">
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
<div class="flex flex-col flex-row-reverse gap-4">
@ -95,10 +99,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initBlurCode'));
});
<script src="${login.appDataPath}/static/js-code/recovery_code.js">
</script>

View File

@ -15,14 +15,17 @@
<h2 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get("general.authenticate")</h2>
</div>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get("recovery_fidokey_auth.keyRegistered")</h3>
<h3 class="font-header text-h5 text-space-blue dark:text-white mb-4">$text.get(
"recovery_fidokey_auth.keyRegistered")</h3>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
${text.get("recovery_fidokey_auth.instruction1").replaceAll("!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
${text.get("recovery_fidokey_auth.instruction1").replaceAll(
"!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
</p>
<p class="font-body text-body-l text-space-blue dark:text-white mb-8">
${text.get("recovery_fidokey_auth.instruction2").replaceAll("!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
${text.get("recovery_fidokey_auth.instruction2").replaceAll(
"!!!SECURITY_KEY_NAME!!!", "$utils.escapeHtmlAttribute($gui.getGuiElem('securityKey').value)")}
</p>
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
@ -38,19 +41,22 @@
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">1</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("recovery_fidokey_auth.fidoInstruction")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"recovery_fidokey_auth.fidoInstruction")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">2</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction2")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction2")</p>
</div>
<div class="flex mb-2 items-center">
<span class="font-header text-h6 bg-royal-light-blue dark:bg-blueish-black w-12 h-12 flex flex-none items-center justify-center rounded-full
text-space-blue dark:text-white leading-none">3</span>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get("fido2_auth.instruction3")</p>
<p class="font-body-semi text-body-l text-space-blue dark:text-white ml-4">$text.get(
"fido2_auth.instruction3")</p>
</div>
</div>
@ -71,10 +77,7 @@
class="max-w-[350px] md:max-w-[520px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initFido'));
});
<script src="${login.appDataPath}/static/js-code/recovery_fidokey_auth.js">
</script>
#parse("${templatePath}/footer.vm")

View File

@ -185,10 +185,7 @@
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.dispatchEvent(new Event('initEmail'));
});
<script src="${login.appDataPath}/static/js-code/recovery_intro_email.js">
</script>

Some files were not shown because too many files have changed in this diff Show More