File view with blame information shown in the left gutter beside each line.

barerepo / server / internal/httpd/templates/signin.html
49 lines · 2.1kb · 133728eaa05486504991b230f9d4c7e986b7defc
log files threads runs releases config jump to file t
133728e barerepo 1mo
1
{{define "footleft"}}<a href="{{.Source}}">barerepo</a>{{end}}
133728e barerepo 1mo
2
{{define "body" -}}
133728e barerepo 1mo
3
<div class="bar">
133728e barerepo 1mo
4
<span class="brand">barerepo</span>
133728e barerepo 1mo
5
<span class="secondary"><a href="/signup">new account</a></span>
133728e barerepo 1mo
6
</div>
133728e barerepo 1mo
7
<div class="pane loose">
133728e barerepo 1mo
8
<div class="panetitle">sign in</div>
133728e barerepo 1mo
9
{{if .Error}}<div class="danger small formerror">{{.Error}}{{if .Unknown}}
133728e barerepo 1mo
10
<a href="/signup">make one</a>, or check the spelling.{{end}}</div>{{end}}
133728e barerepo 1mo
11
{{if .Nonce}}
133728e barerepo 1mo
12
<form method="post" action="/auth/verify">
133728e barerepo 1mo
13
<input type="hidden" name="nonce" value="{{.Nonce}}">
133728e barerepo 1mo
14
<input type="hidden" name="name" value="{{.Name}}">
133728e barerepo 1mo
15
<div class="field">
133728e barerepo 1mo
16
<div class="label">nonce</div>
133728e barerepo 1mo
17
<pre class="box">{{.Nonce}}</pre>
133728e barerepo 1mo
18
</div>
133728e barerepo 1mo
19
<div class="field">
133728e barerepo 1mo
20
<div class="label">sign it</div>
133728e barerepo 1mo
21
<pre class="box">printf '%s' '{{.Nonce}}' | ssh-keygen -Y sign -f ~/.ssh/id_ed25519 -n barerepo-auth -</pre>
133728e barerepo 1mo
22
<div class="hint">stock openssh, nothing to install, nothing left on disk.
133728e barerepo 1mo
23
this nonce is good for 10 minutes.</div>
133728e barerepo 1mo
24
</div>
133728e barerepo 1mo
25
<div class="field">
133728e barerepo 1mo
26
<div class="label">signature</div>
133728e barerepo 1mo
27
<textarea class="text tall" name="signature" spellcheck="false" autofocus
133728e barerepo 1mo
28
placeholder="-----BEGIN SSH SIGNATURE-----"></textarea>
133728e barerepo 1mo
29
</div>
133728e barerepo 1mo
30
<div><button class="btn" type="submit">sign in</button></div>
133728e barerepo 1mo
31
</form>
133728e barerepo 1mo
32
{{else}}
133728e barerepo 1mo
33
<form method="post" action="/auth/challenge">
133728e barerepo 1mo
34
<div class="field">
133728e barerepo 1mo
35
<div class="label">name</div>
133728e barerepo 1mo
36
<input class="text" name="name" value="{{.Name}}" autofocus spellcheck="false" autocapitalize="off">
133728e barerepo 1mo
37
</div>
133728e barerepo 1mo
38
<div class="actions"><button class="btn" type="submit">send challenge</button></div>
133728e barerepo 1mo
39
</form>
133728e barerepo 1mo
40
<div class="muted small stack">
133728e barerepo 1mo
41
<div>we give you a nonce. you sign it with the key you already have.</div>
133728e barerepo 1mo
42
<div class="secondary">printf '%s' '&lt;nonce&gt;' | ssh-keygen -Y sign -f ~/.ssh/id_ed25519 -n barerepo-auth -</div>
133728e barerepo 1mo
43
<div>that is stock openssh. nothing to install.</div>
133728e barerepo 1mo
44
<div>or <span class="secondary">br auth {{if .Name}}{{.Name}}{{else}}&lt;name&gt;{{end}}</span>,
133728e barerepo 1mo
45
which does the same thing in one step.</div>
133728e barerepo 1mo
46
</div>
133728e barerepo 1mo
47
{{end}}
133728e barerepo 1mo
48
</div>
133728e barerepo 1mo
49
{{- end}}
history · rawbarerepo 0.1.0