diff options
Diffstat (limited to 'server/templates')
-rw-r--r-- | server/templates/certs.go | 70 | ||||
-rw-r--r-- | server/templates/token.go | 56 |
2 files changed, 126 insertions, 0 deletions
diff --git a/server/templates/certs.go b/server/templates/certs.go new file mode 100644 index 0000000..2bda893 --- /dev/null +++ b/server/templates/certs.go @@ -0,0 +1,70 @@ +package templates + +// Certs lists all unexpired issued certificates. +const Certs = ` +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> + <title>Issued Certificates</title> + + <!-- Bootstrap --> + <link href="/static/css/bootstrap.min.css" rel="stylesheet"> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + </head> + <body> + <div class="container"> + <div class="page-header"> + <h1>Issued SSH Certificates</h1> + </div> + + <form action="/admin/revoke" method="post" id="form_revoke"> + {{ .CSRF }} + <table class="table table-hover table-condensed"> + <tr> + <th>ID</th> + <th>Created</th> + <th>Expires</th> + <th>Principals</th> + <th>Revoked</th> + <th>Revoke</th> + </tr> + + {{range .Certs}} + <div class="checkbox"> + <tr> + <td>{{.KeyID}}</td> + <td>{{.CreatedAt}}</td> + <td>{{.Expires}}</td> + <td>{{.Principals}}</td> + <td>{{.Revoked}}</td> + <td> + {{if not .Revoked}} + <input type="checkbox" value="{{.KeyID}}" name="cert_id" id="cert_id" /> + {{end}} + </td> + </tr> + </div> + {{ end }} + </table> + </form> + <button class="btn btn-primary" type="submit" form="form_revoke" value="Submit">Submit</button> + </div> + + <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> + <!-- Include all compiled plugins (below), or include individual files as needed --> + <script src="/static/js/bootstrap.min.js"></script> + </body> +</html> + +` diff --git a/server/templates/token.go b/server/templates/token.go new file mode 100644 index 0000000..d21c03f --- /dev/null +++ b/server/templates/token.go @@ -0,0 +1,56 @@ +package templates + +// Token is the page users see when authenticated. +const Token = ` +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> + <title>Token</title> + + <!-- Bootstrap --> + <link href="/static/css/bootstrap.min.css" rel="stylesheet"> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + <style> + <!-- + .code { + border: none; + font-family: monospace; + font-weight: bold; + height: auto; + margin: 12px 12px 12px 12px; + padding: 24px 12px 12px 12px; + resize: none; + text-align: center; + } + --> + </style> + </head> + <body> + <div class="container"> + <div class="page-header"> + <h1>Access Token</h1> + </div> + <div> + <textarea style="font-size: 15pt" class="form-control code" readonly spellcheck="false" onclick="this.focus();this.select();">{{.Token}}</textarea> + <h2> + The token will expire in < 1 hour. + </h2> + </div> + </div> + <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> + <!-- Include all compiled plugins (below), or include individual files as needed --> + <script src="/static/js/bootstrap.min.js"></script> + </body> +</html> +` |