git.iko.soy/typeable/oauth2-proxy
on v0.1 help sign in
typeable/oauth2-proxy/templates.go
55 lines 1.4 kB history raw
1package main
3import (
4 "html/template"
5 "log"
6)
8func getTemplates() *template.Template {
9 t, err := template.New("foo").Parse(`{{define "sign_in.html"}}
10<!DOCTYPE html>
11<html lang="en" charset="utf-8">
12<head><title>Sign In</title>
13<!-- Optimized mobile viewport -->
14<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes"/>
15<meta name="apple-mobile-web-app-capable" content="yes">
16</head>
17<body>
18 <form method="GET" action="/oauth2/start">
19 <input type="hidden" name="rd" value="{{.Redirect}}">
20 <button type="submit">Sign In w/ Google</button>
21 {{.SignInMessage}}
22 </form>
23 {{ if .Htpasswd }}
24 <fieldset>
25 <form method="POST" action="/oauth2/sign_in">
26 <input type="hidden" name="rd" value="{{.Redirect}}">
27 <label>Username: <input type="text" name="username" size="10"></label><br/>
28 <label>Password: <input type="password" name="password" size="10"></label><br/>
29 <button type="submit">Sign In</button>
30 </form>
31 </fieldset>
32 {{ end }}
33</body>
34</html>
35{{end}}`)
36 if err != nil {
37 log.Fatalf("failed parsing template %s", err.Error())
38 }
40 t, err = t.Parse(`{{define "error.html"}}
41<!DOCTYPE html>
42<html lang="en" charset="utf-8">
43<head><title>{{.Title}}</title></head>
44<body>
45 <h2>{{.Title}}</h2>
46 <p>{{.Message}}</p>
47 <hr>
48 <p><a href="/oauth2/sign_in">Sign In</a></p>
49</body>
50</html>{{end}}`)
51 if err != nil {
52 log.Fatalf("failed parsing template %s", err.Error())
53 }
54 return t