login.html 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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="{{ routePath "/login" }}" 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 webauthn" 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>
  36. {{ end }}
  37. {{ if and (.webAuthnEnabled) (or (hasOAuth2Provider "google") (hasOAuth2Provider "oidc")) }}
  38. <hr>
  39. {{ end }}
  40. {{ if hasOAuth2Provider "google" }}
  41. <div class="oauth2">
  42. <a href="{{ routePath "/oauth2/%s/redirect" "google" }}">{{ t "page.login.google_signin" }}</a>
  43. </div>
  44. {{ else if hasOAuth2Provider "oidc" }}
  45. <div class="oauth2">
  46. <a href="{{ routePath "/oauth2/%s/redirect" "oidc" }}">{{ t "page.login.oidc_signin" oidcProviderName }}</a>
  47. </div>
  48. {{ end }}
  49. </section>
  50. <footer id="prompt-home-screen">
  51. <button id="btn-add-to-home-screen">{{ icon "home" }}<span class="icon-label">{{ t "action.home_screen" }}</span></button>
  52. </footer>
  53. {{ end }}