31 lines
1.2 KiB
HTML
31 lines
1.2 KiB
HTML
{{/* Die Anmeldung bekommt einen eigenen, ruhigen Rahmen: keine Navigation, denn
|
|
es gibt noch nichts zu navigieren. */}}
|
|
{{template "html-anfang" .}}
|
|
|
|
<div class="anmeldeseite">
|
|
<div class="schale schmal">
|
|
<div class="karte">
|
|
<h1>Munin</h1>
|
|
<span class="hilfe">Mit dem API-Key des Projekts anmelden. Der Plattform-Admin
|
|
verwendet sein Admin-Token.</span>
|
|
|
|
{{if .Error}}<div class="meldung fehler">{{.Error}}</div>{{end}}
|
|
|
|
<form method="POST" action="/login" class="formular">
|
|
{{/* Ohne Sitzung gibt es kein CSRF-Token, auf das man sich beziehen
|
|
könnte. Geschützt ist dieses Formular über SameSite=Lax und
|
|
das Rate-Limit. */}}
|
|
<div class="feld">
|
|
<label for="key">API-Key</label>
|
|
<input type="password" id="key" name="key" autofocus
|
|
autocomplete="current-password" placeholder="wk_…">
|
|
</div>
|
|
<div class="formular-aktionen">
|
|
<button type="submit">Anmelden</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{template "html-ende" .}}
|