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="/signin">sign in</a></span>
133728e barerepo 1mo
6
</div>
133728e barerepo 1mo
7
<div class="pane loose">
133728e barerepo 1mo
8
<div class="panetitle">new account</div>
133728e barerepo 1mo
9
{{if .Error}}<div class="danger small formerror">{{.Error}}</div>{{end}}
133728e barerepo 1mo
10
{{if .Nonce}}
133728e barerepo 1mo
11
<form method="post" action="/signup">
133728e barerepo 1mo
12
<input type="hidden" name="nonce" value="{{.Nonce}}">
133728e barerepo 1mo
13
<div class="field">
133728e barerepo 1mo
14
<div class="label">prove you hold the private half</div>
133728e barerepo 1mo
15
<pre class="box">printf '%s' '{{.Nonce}}' | ssh-keygen -Y sign -f ~/.ssh/id_ed25519 -n barerepo-signup -</pre>
133728e barerepo 1mo
16
<div class="hint">a public key is public, so anyone could paste yours. this is how the
133728e barerepo 1mo
17
server knows it is yours. good for 10 minutes.</div>
133728e barerepo 1mo
18
</div>
133728e barerepo 1mo
19
<div class="field">
133728e barerepo 1mo
20
<div class="label">signature</div>
133728e barerepo 1mo
21
<textarea class="text tall" name="signature" spellcheck="false" autofocus
133728e barerepo 1mo
22
placeholder="-----BEGIN SSH SIGNATURE-----"></textarea>
133728e barerepo 1mo
23
</div>
133728e barerepo 1mo
24
<div class="actions"><button class="btn" type="submit">create {{.Name}}</button></div>
133728e barerepo 1mo
25
</form>
133728e barerepo 1mo
26
{{else}}
133728e barerepo 1mo
27
<form method="post" action="/signup">
133728e barerepo 1mo
28
<div class="field">
133728e barerepo 1mo
29
<div class="label">name</div>
133728e barerepo 1mo
30
<input class="text" name="name" value="{{.Name}}" autofocus spellcheck="false" autocapitalize="off">
133728e barerepo 1mo
31
</div>
133728e barerepo 1mo
32
<div class="field">
133728e barerepo 1mo
33
<div class="label">public key</div>
133728e barerepo 1mo
34
<textarea class="text short" name="pubkey" spellcheck="false">{{.PubKey}}</textarea>
133728e barerepo 1mo
35
<div class="hint">cat ~/.ssh/id_ed25519.pub</div>
133728e barerepo 1mo
36
</div>
133728e barerepo 1mo
37
<div class="actions"><button class="btn" type="submit">create</button></div>
133728e barerepo 1mo
38
</form>
133728e barerepo 1mo
39
{{end}}
133728e barerepo 1mo
40
<div class="muted small stack">
133728e barerepo 1mo
41
<div>your key is your account. there is no email and no password.</div>
133728e barerepo 1mo
42
<div class="danger">losing every key loses the account, because there is no out-of-band recovery channel.</div>
133728e barerepo 1mo
43
<div>add a second key from another machine today.</div>
133728e barerepo 1mo
44
</div>
133728e barerepo 1mo
45
</div>
133728e barerepo 1mo
46
{{- end}}