62 lines
2.2 KiB
HTML
62 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{layout}">
|
|
|
|
<head>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
|
|
|
|
<title th:text="#{cas.mfa.u2f.pagetitle}">U2f Registration View</title>
|
|
<link href="../../static/css/cas.css" rel="stylesheet" th:remove="tag" />
|
|
<script th:src="@{/js/u2f/u2f-api.js}"></script>
|
|
|
|
<script th:inline="javascript">
|
|
/*<![CDATA[*/
|
|
|
|
setTimeout(function () {
|
|
var appId = /*[[${u2fReg.appId}]]*/;
|
|
|
|
var version = /*[[${u2fReg.version}]]*/;
|
|
|
|
var challenge = /*[[${u2fReg.challenge}]]*/;
|
|
|
|
var registerRequests = [{version: version, challenge: challenge}];
|
|
console.log(appId, registerRequests);
|
|
u2f.register(appId, registerRequests, [], function (data) {
|
|
var form = document.getElementById('form');
|
|
var reg = document.getElementById('tokenResponse');
|
|
if (data.errorCode) {
|
|
console.log('U2F failed: error ' + data.errorCode);
|
|
return;
|
|
}
|
|
reg.value = JSON.stringify(data);
|
|
form.submit();
|
|
});
|
|
}, 1000);
|
|
|
|
/*]]>*/
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<main role="main" class="container mt-3 mb-3">
|
|
<div layout:fragment="content" id="login">
|
|
<div class="alert alert-info">
|
|
<h3 th:text="#{cas.mfa.u2f.register.device}">Register Device</h3>
|
|
<div th:utext="#{cas.mfa.u2f.authentication.message}">
|
|
<p><strong>Please touch the flashing U2F device now.</strong></p>
|
|
<p> You may be prompted to allow the site permission to access your security keys. After granting
|
|
permission, the device will start to blink.</p>
|
|
</div>
|
|
|
|
<form method="POST" id="form">
|
|
<input type="hidden" name="tokenResponse" id="tokenResponse"/>
|
|
<input type="hidden" name="_eventId" value="submit"/>
|
|
<input type="hidden" name="execution" th:value="${flowExecutionKey}"/>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</body>
|
|
</html>
|