027014d7de
Follow: * #22697 There are some bugs in #22697: * https://github.com/go-gitea/gitea/pull/22697#issuecomment-1577957966 * the webauthn failure message is never shown and causes console error * The `document.getElementById('register-button')` and `document.getElementById('login-button')` is wrong * there is no such element in code * it causes JS error when a browser doesn't provide webauthn * the end user can't see the real error message These bugs are fixed in this PR. Other changes: * Use simple HTML/CSS layouts, no need to use too many `gt-` patches * Make the webauthn page have correct "page-content" layout * The "data-webauthn-error-msg" elements are only used to provide locale texts, so move them into a single "gt-hidden", then no need to repeat a lot of "gt-hidden" in code * The `{{.CsrfTokenHtml}}` is a no-op because there is no form * Many `hideElem('#webauthn-error')` in code is no-op because the `webauthn-error` already has "gt-hidden" by default * Make the tests for "URLEncodedBase64" really test with concrete cases. Screenshots: * Error message when webauthn fails (before, there is no error message): <details> ![image](https://github.com/go-gitea/gitea/assets/2114189/93cf9559-d93b-4f06-9d98-0f7032d9c65b) </details> * Error message when webauthn is unavailable <details> ![image](https://github.com/go-gitea/gitea/assets/2114189/ffc0fcd9-b93b-4418-979c-c89bb627aaf2) </details>
23 lines
834 B
Go HTML Template
23 lines
834 B
Go HTML Template
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content user signin webauthn-prompt">
|
|
<div class="ui page grid">
|
|
<div class="column center aligned">
|
|
{{template "user/auth/webauthn_error" .}}
|
|
<h3 class="ui top attached header">{{.locale.Tr "twofa"}}</h3>
|
|
<div class="ui attached segment">
|
|
{{svg "octicon-key" 56}}
|
|
<h3>{{.locale.Tr "webauthn_insert_key"}}</h3>
|
|
{{template "base/alert" .}}
|
|
<p>{{.locale.Tr "webauthn_sign_in"}}</p>
|
|
</div>
|
|
<div class="ui attached segment">
|
|
<div class="ui active indeterminate inline loader"></div>
|
|
{{.locale.Tr "webauthn_press_button"}}
|
|
</div>
|
|
<div class="ui attached segment">
|
|
<a href="{{AppSubUrl}}/user/two_factor">{{.locale.Tr "webauthn_use_twofa"}}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|