summaryrefslogtreecommitdiffstats
path: root/templates/user/auth/webauthn.tmpl
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-06-07 19:20:18 +0800
committerGitHub <noreply@github.com>2023-06-07 19:20:18 +0800
commit027014d7de19a566cde306c868a31895903d00d5 (patch)
treed29fb9a3ac33f095b75fa90a1d17900cc8d2d48f /templates/user/auth/webauthn.tmpl
parent58536093b3112841bc69edb542189893b57e7a47 (diff)
downloadgitea-027014d7de19a566cde306c868a31895903d00d5.tar.gz
gitea-027014d7de19a566cde306c868a31895903d00d5.zip
Fix webauthn regression and improve code (#25113)
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>
Diffstat (limited to 'templates/user/auth/webauthn.tmpl')
-rw-r--r--templates/user/auth/webauthn.tmpl33
1 files changed, 17 insertions, 16 deletions
diff --git a/templates/user/auth/webauthn.tmpl b/templates/user/auth/webauthn.tmpl
index f1c4f29fd9..ef04886405 100644
--- a/templates/user/auth/webauthn.tmpl
+++ b/templates/user/auth/webauthn.tmpl
@@ -1,21 +1,22 @@
{{template "base/head" .}}
-<div class="user signin webauthn-prompt">
- <div class="ui middle centered very relaxed page grid">
+<div role="main" aria-label="{{.Title}}" class="page-content user signin webauthn-prompt">
+ <div class="ui page grid">
<div class="column center aligned">
- <h3 class="ui top attached header">
- {{.locale.Tr "twofa"}}
- </h3>
- {{template "user/auth/webauthn_error" .}}
- <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>
+ {{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>