login.html 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. {{ define "title"}}{{ t "page.login.title" }}{{ end }}
  2. {{ define "page_header"}}{{ end }}
  3. {{ define "content"}}
  4. <section class="login-form">
  5. {{ if not disableLocalAuth }}
  6. <form action="{{ route "checkLogin" }}" method="post">
  7. <input type="hidden" name="csrf" value="{{ .csrf }}">
  8. <input type="hidden" name="redirect_url" value="{{ .redirectURL }}">
  9. {{ if .errorMessage }}
  10. <div role="alert" class="alert alert-error">{{ .errorMessage }}</div>
  11. {{ end }}
  12. <label for="form-username">{{ t "form.user.label.username" }}</label>
  13. <input type="text" name="username" id="form-username" value="{{ .form.Username }}" autocomplete="username" required autofocus>
  14. <label for="form-password">{{ t "form.user.label.password" }}</label>
  15. <input type="password" name="password" id="form-password" value="{{ .form.Password }}" autocomplete="current-password" required>
  16. <div class="buttons">
  17. <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.loading" }}">{{ t "action.login" }}</button>
  18. </div>
  19. </form>
  20. {{ end }}
  21. {{ if and (not disableLocalAuth) (.webAuthnEnabled) }}
  22. <hr>
  23. {{ end }}
  24. {{ if .webAuthnEnabled }}
  25. <div class="webauthn">
  26. <template id="webauthn-error">
  27. <div role="alert" class="alert alert-error" id="webauthn-error-alert">
  28. <h4>{{ t "page.login.webauthn_login.error" }}</h4>
  29. <p id="webauthn-error-message"></p>
  30. </div>
  31. </template>
  32. <div class="buttons">
  33. <button class="button button-primary" id="webauthn-login" disabled>{{ t "page.login.webauthn_login" }}</button>
  34. </div>
  35. <div class="form-help">
  36. <p>{{ t "page.login.webauthn_login.help" }}</p>
  37. </div>
  38. </div>
  39. {{ end }}
  40. {{ if and (.webAuthnEnabled) (or (hasOAuth2Provider "google") (hasOAuth2Provider "oidc")) }}
  41. <hr>
  42. {{ end }}
  43. {{ if hasOAuth2Provider "google" }}
  44. <div class="oauth2">
  45. <a href="{{ route "oauth2Redirect" "provider" "google" }}">{{ t "page.login.google_signin" }}</a>
  46. </div>
  47. {{ else if hasOAuth2Provider "oidc" }}
  48. <div class="oauth2">
  49. <a href="{{ route "oauth2Redirect" "provider" "oidc" }}">{{ t "page.login.oidc_signin" oidcProviderName }}</a>
  50. </div>
  51. {{ end }}
  52. </section>
  53. <footer id="prompt-home-screen">
  54. <button id="btn-add-to-home-screen">{{ icon "home" }}<span class="icon-label">{{ t "action.home_screen" }}</span></button>
  55. </footer>
  56. {{ end }}