2020-12-02 17:00:04 +01:00
|
|
|
{{template "main-top" .}}
|
|
|
|
|
|
|
|
<div class="head">
|
|
|
|
{{ template "user-profile" . }}
|
|
|
|
|
|
|
|
<p>{{t "MFAVerifyU2F.Description"}}</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<form action="{{ mfaInitU2FLoginUrl }}" method="POST">
|
|
|
|
|
|
|
|
{{ .CSRF }}
|
|
|
|
|
|
|
|
<input type="hidden" name="authRequestID" value="{{ .AuthReqID }}"/>
|
|
|
|
<input type="hidden" name="credentialAssertionData" value="{{ .CredentialCreationData }}"/>
|
|
|
|
<input type="hidden" name="credentialData"/>
|
|
|
|
|
|
|
|
<div id="webauthn">
|
|
|
|
<p class="wa-no-support error hidden">{{t "WebAuthN.NotSupported"}}</p>
|
|
|
|
<a id="btn-login" class="button primary wa-support">{{t "Actions.ValidateToken"}}</a>
|
|
|
|
<div id="wa-error" class="error hidden">
|
|
|
|
<span class="cause"></span>
|
|
|
|
<span>{{t "WebAuthN.Error.Retry"}}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{ template "error-message" .}}
|
|
|
|
|
|
|
|
<div class="actions">
|
2020-12-07 12:09:10 +01:00
|
|
|
{{ if .MFAProviders }}
|
|
|
|
<div class="mfa-other">
|
|
|
|
<p>{{t "MFA.ChooseOther"}}</p>
|
|
|
|
{{ range $provider := .MFAProviders}}
|
|
|
|
{{ $providerName := (t (printf "MFA.Provider%v" $provider)) }}
|
|
|
|
<button class="secondary" type="submit" name="provider" value="{{$provider}}">{{$providerName}}</button>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
{{ end }}
|
2020-12-02 17:00:04 +01:00
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<script src="{{ resourceUrl "scripts/base64.js" }}"></script>
|
|
|
|
<script src="{{ resourceUrl "scripts/webauthn.js" }}"></script>
|
|
|
|
<script src="{{ resourceUrl "scripts/webauthn_login.js" }}"></script>
|
|
|
|
|
|
|
|
{{template "main-bottom" .}}
|