#* The server renders this HTML page in an end-user's browser for offline authentication. Velocity variables (identified by the $ character) are generated at runtime by the server. Change text or formatting as needed. Modifying Velocity statements is not recommended as it may interfere with expected server behavior. *# #set($otpError = false) #set($resetError = false) #if($errorCode && $errorCode.length() > 0) #if($errorCode == "INVALID_OTP") #set($otpError = true) #elseif($errorCode == "RESET") #set($resetError = true) #end #end
#if($PingFedCurrentBaseURL) #else #end
#* Variable to keep track of selected device, for setting QR code on a page refresh *# #set($qrCode = $devices.get(0).qrCode) #set($encryptedOtp = $devices.get(0).encryptedOtp) #* Only display the Device selection/info UI if there *is not* an OTP error *# #set($displayError = "none") #if($resetError) #set($displayError = "block") #end
$messages.getMessage("pingid.oa.error.too.many.attempts")
$messages.getMessage("pingid.oa.heading")
#set($displayDevice = "block") #if($otpError || $resetError) #set($displayDevice = "none") #end #if($deviceCount > 1 && !$sameDevice)
$messages.getMessage("pingid.oa.device.intro")
$messages.getMessage("pingid.oa.device.heading") #* list out devices. Note: Using a custom $index as $foreach.count and related helpers aren't working *# #set($index = 0) #foreach($device in $devices) #set($checked = "") #if($selectedDevice == $device.displayName) #set($checked = "checked") #set($qrCode = $device.qrCode) #elseif(!$selectedDevice && $index == 0) #set($checked = "checked") #end #set($index = ($index + 1)) $device.displayName
#end
#if($isMobileDevice)
#else
#end $messages.getMessage("pingid.oa.button.cancel")
#elseif($deviceCount == 1 && !$sameDevice)
$messages.getMessage("pingid.oa.device.intro")
$messages.getMessage("pingid.oa.device.heading")
$devices.get(0).displayName
#if($isMobileDevice)
#else
#end $messages.getMessage("pingid.oa.button.cancel")
#elseif($sameDevice) #* NOT CURRENTLY SUPPORTED *#
$messages.getMessage("pingid.oa.device.same.intro")
$messages.getMessage("pingid.oa.device.otp.label") #set($displayError = "none") #if($otpError) #set($displayError = "block") #end
$messages.getMessage("pingid.oa.button.back")
#else
$messages.getMessage("pingid.oa.error.nodevice")
#* close for device display *# #end #* mobile situation *# #if($isMobileDevice)
$messages.getMessage("pingid.oa.mobile.qr.info")
$messages.getMessage("pingid.oa.qr.intro")
$messages.getMessage("pingid.oa.mobile.application.authenticate")
$messages.getMessage("pingid.oa.mobile.use.qr")
$messages.getMessage("pingid.oa.mobile.use.application")
#else
$messages.getMessage("pingid.oa.qr.intro")
#end
$messages.getMessage("pingid.oa.device.otp.label") #set($displayError = "none") #if($otpError) #set($displayError = "block") #end
$messages.getMessage("pingid.oa.error.bad.code")
$messages.getMessage("pingid.oa.button.back")
#if($adminMessage && $adminMessage.length() > 0)
$adminMessage
#end