Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ launch.view.or=OR
launch.view.scan=Scan the code in BankID security app
launch.view.button.this-device=Start your BankID app on this device
launch.view.button.manualstart=Start your BankID app
launch.view.button.show-qr-code=Show QR code
launch.view.button.open-on-this-device=Open BankID on this device
launch.view.button.cancel=Cancel
launch.view.button.continue=Continue
launch.validation.error.autostarttoken.required=Missing input. Retry the request
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ launch.view.or=OU
launch.view.scan=Digitalize o código no aplicativo de segurança BankID
launch.view.button.this-device=Iniciar o aplicativo de segurança BankID neste dispositivo
launch.view.button.manualstart=Iniciar o aplicativo de segurança BankID
launch.view.button.show-qr-code=Mostrar código QR
launch.view.button.open-on-this-device=Abrir BankID neste dispositivo
launch.view.button.cancel=Cancelar
launch.validation.error.autostarttoken.required=Entrada ausente. Tente novamente a solicitação
launch.view.poll.continue=Se você não for redirecionado automaticamente, clique aqui para continuar autenticando
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ launch.view.or=OU
launch.view.scan=Digitalize o código no aplicativo de segurança BankID
launch.view.button.this-device=Iniciar o aplicativo de segurança BankID neste dispositivo
launch.view.button.manualstart=Iniciar o aplicativo de segurança BankID
launch.view.button.show-qr-code=Mostrar código QR
launch.view.button.open-on-this-device=Abrir BankID neste dispositivo
launch.view.button.cancel=Cancelar
launch.validation.error.autostarttoken.required=Entrada ausente. Tente novamente a solicitação
launch.view.poll.continue=Se você não for redirecionado automaticamente, clique aqui para continuar autenticando
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ launch.view.qr.screen-reader.step4.2=Använda kortkommandon
launch.view.qr.screen-reader.step4.2.1=Windows: Ctrl+Pil upp
launch.view.qr.screen-reader.step4.2.2=Mac: Ctrl+Cmd+F
launch.view.qr.screen-reader.outro=Hålla telefonen i stående läge på ett 40cm avstånd från skärmen när du skannar QR-koden.
launch.view.button.show-qr-code=Visa QR-kod
launch.view.button.open-on-this-device=Öppna BankID på den här enheten
launch.view.button.cancel=Avbryt
launch.view.button.continue=Fortsätt
launch.validation.error.autostarttoken.required=Saknar input. Försök igen
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#*
* Copyright (C) 2025 Curity AB. All rights reserved.
*
* The contents of this file are the property of Curity AB.
* You may not copy or use this file, in either source code
* or executable form, except in compliance with terms
* set by Curity AB.
*
* For further information, please contact Curity AB.
*###

## redirect to the same URL
#set ($_callbackUrl = "")
## using a GET
#set ($_callbackMethod = "get")
#define($_formContent)
## providing 'navigator.maxTouchPoints' in the 'nmtp' query-string variable
<input type="hidden" name="nmtp" id="nmtp"/>
<script type="text/javascript" $!nonceAttr>
const nmtp = navigator.maxTouchPoints
document.getElementById("nmtp").setAttribute("value", "" + nmtp)
</script>

## just to ensure the query-string is not empty and we do not endup on an infinit loop
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: "endup" should be "end up".

Suggested change
## just to ensure the query-string is not empty and we do not endup on an infinit loop
## just to ensure the query-string is not empty and we do not end up on an infinit loop

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: "infinit" should be "infinite".

Suggested change
## just to ensure the query-string is not empty and we do not endup on an infinit loop
## just to ensure the query-string is not empty and we do not endup on an infinite loop

Copilot uses AI. Check for mistakes.
<input type="hidden" name="ctx" value="1" />
#end
#parse("layouts/redirect")
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@
#else
#set($qr_time_left = $_maxWaitTime / 60)
#end
#if($_flowMode == 'cross-device' || $_flowMode == 'same-device')
#set($extendUrl="${_authUrl}?flowMode=$_flowMode")
#else
#set($extendUrl=$_authUrl)
#end
#set($qr_time_elapsed = 0)
<iframe id="autoStart" height="0" width="0" frameborder="0"></iframe>
<h1 class="center">#message("${_templatePrefix}.page.title")</h1>
Expand All @@ -52,7 +57,7 @@
<span id="qr-time-label-seconds" #if($_maxWaitTime >= 60) class="hide"#end>#message("${_templatePrefix}.view.qr.seconds-left")</span>
</p>
<div class="mt2">
<a class="button button-tiny button-primary-outline" id="qr-time-extend" href="$_authUrl">
<a class="button button-tiny button-primary-outline" id="qr-time-extend" href="$extendUrl">
#message("${_templatePrefix}.view.button.qr-time-extend")
</a>
</div>
Expand Down Expand Up @@ -92,30 +97,32 @@
<p class="left-align">#message("${_templatePrefix}.view.qr.screen-reader.outro")</p>
</details>
</div>
#end
#if($_autostartTokenDataUri && $_autostartToken)
<p class="login-symbol">#message("${_templatePrefix}.view.or")</p>
#end
#if($_autostartToken)
<form class="manuallink pb0">
<a class="button button-fullwidth button-primary center" id="manualStart">
#message("${_templatePrefix}.view.button.this-device")</a>
</form>
<form name="cancel" action="cancel" class="manuallink" method="get">
<button type="submit" class="button button-fullwidth button-primary-outline">#message($_messages,
"${_templatePrefix}.view.button.cancel")</button>
#end
#if($_flowMode == 'cross-device')
<form class="manuallink pb0">
<a class="button button-fullwidth button-primary center" href="$_switchModeUrl">
#message("${_templatePrefix}.view.button.open-on-this-device")</a>
</form>
#else
<div class="area center">
<p class="h4 mb4 semibold" id="poll_message">#message("${_templatePrefix}.view.title")</p>
#parse("fragments/spinner")
</div>
<form class="manuallink pb0 display-none">
<p class="h4 center">#message("${_templatePrefix}.view.manualstart")</p>
<a class="button button-fullwidth button-primary center" id="manualStart">
#message("${_templatePrefix}.view.button.manualstart")</a>
#end
#if($_flowMode == 'same-device')
<form class="manuallink pb0">
<a class="button button-fullwidth button-primary center" href="$_switchModeUrl">
#message("${_templatePrefix}.view.button.show-qr-code")</a>
</form>
<form name="cancel" action="cancel" class="manuallink display-none" method="get">
#end
<form name="cancel" action="cancel" class="manuallink" method="get">
<button type="submit" class="button button-fullwidth button-primary-outline">#message($_messages,
"${_templatePrefix}.view.button.cancel")</button>
</form>
#end
<form action="$_action" method="post" id="pollingDone" class="display-none">
<input type="hidden" name="_pollingDone" value="true"/>
</form>
Expand Down