2017-06-14 18:40:12 +00:00
|
|
|
<!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>Vault OTP-UI</title>
|
|
|
|
|
2017-06-14 22:04:59 +00:00
|
|
|
<link rel="manifest" href="static/manifest.json">
|
|
|
|
|
2017-06-14 18:40:12 +00:00
|
|
|
<!-- Bootstrap -->
|
2018-03-23 19:23:47 +00:00
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.min.css"
|
|
|
|
integrity="sha256-LA89z+k9fjgMKQ/kq4OO2Mrf8VltYml/VES+Rg0fh20=" crossorigin="anonymous" />
|
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.0.0/flatly/bootstrap.min.css"
|
|
|
|
integrity="sha256-uR+4waFpGD6COqOrSkm2HiJwc668qfgW3kidhhaOyYk=" crossorigin="anonymous" />
|
2017-06-14 18:40:12 +00:00
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
|
|
|
|
integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
|
|
|
|
|
|
|
|
<style>
|
|
|
|
body { font-size: 16px; padding-top: 90px; }
|
|
|
|
i { margin-right: 0.4em; }
|
2018-03-23 18:16:56 +00:00
|
|
|
#initLoader i { margin-right: unset; }
|
2017-06-14 18:40:12 +00:00
|
|
|
#templates { display: none; }
|
2017-06-14 21:15:15 +00:00
|
|
|
.alert { background-image: none; }
|
2018-03-23 19:23:47 +00:00
|
|
|
.badge { background-color: #2980b9; color: #ddd; font-size: 15px; font-weight: bold; margin-top: 3px; }
|
2017-06-14 18:40:12 +00:00
|
|
|
.center { text-align: center; }
|
2018-03-23 18:06:48 +00:00
|
|
|
.fixed { bottom: 0; position: fixed; width: 100%; z-index: 999; }
|
2017-06-14 18:40:12 +00:00
|
|
|
.jumbotron h2 { text-align: center; }
|
|
|
|
.otp-item i { width: 1.1em; }
|
2018-03-23 19:23:47 +00:00
|
|
|
.pbar { background-color: #18BC9C; height: 100%; }
|
|
|
|
.pcontainer { background-color: #E74C3C; border-width: 1px 0 1px 0; border-color: #333; height: 3px; position: absolute; bottom: 0; left: 0; width: 100%; z-index: 999; }
|
2017-06-14 18:40:12 +00:00
|
|
|
.state-signedin #login { display: none; }
|
|
|
|
.state-signedout #application { display: none; }
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<!-- 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://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"
|
|
|
|
integrity="sha256-3Jy/GbSLrg0o9y5Z5n1uw0qxZECH7C6OQpVBgNFYa0g=" crossorigin="anonymous"></script>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"
|
|
|
|
integrity="sha256-g6iAfvZp+nDQ2TdTR/VVKJf3bGro4ub5fvWSWVRi2NE=" crossorigin="anonymous"></script>
|
|
|
|
<![endif]-->
|
|
|
|
</head>
|
|
|
|
<body class="state-{{ if .isloggedin }}signedin{{ else }}signedout{{ end }}">
|
2018-03-23 19:23:47 +00:00
|
|
|
<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
2017-06-14 18:40:12 +00:00
|
|
|
<div class="container-fluid">
|
2018-03-23 19:23:47 +00:00
|
|
|
<a class="navbar-brand mr-5" href="#">Vault OTP-UI</a>
|
|
|
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
|
|
|
<span class="navbar-toggler-icon"></span>
|
|
|
|
</button>
|
|
|
|
|
|
|
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
|
|
<form class="form-inline mr-auto">
|
|
|
|
<input type="text" class="form-control" placeholder="Filter" id="filter">
|
2017-06-14 18:40:12 +00:00
|
|
|
</form>
|
2018-03-23 19:23:47 +00:00
|
|
|
<ul class="navbar-nav my-2 my-lg-0">
|
|
|
|
<li class="nav-item">
|
|
|
|
<a class="nav-link" href="https://github.com/Luzifer/vault-otp-ui"><i class="fa fa-github" aria-hidden="true"></i> Source on Github</a>
|
|
|
|
</li>
|
2017-06-14 18:40:12 +00:00
|
|
|
</ul>
|
|
|
|
</div><!-- /.navbar-collapse -->
|
|
|
|
</div><!-- /.container-fluid -->
|
|
|
|
|
|
|
|
<div class="pcontainer">
|
|
|
|
<div class="pbar" style="width: 0%;" id="timer"></div>
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
<div id="application">
|
2018-03-23 18:06:48 +00:00
|
|
|
<div class="container-fluid fixed">
|
2018-03-23 19:23:47 +00:00
|
|
|
<div class="row justify-content-md-center">
|
|
|
|
<div class="col-xs-10 col-sm-10 col-md-8 col-lg-4" id="messagecontainer"></div>
|
2017-06-14 21:15:15 +00:00
|
|
|
</div>
|
2018-03-23 18:06:48 +00:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="container">
|
2017-06-14 21:15:15 +00:00
|
|
|
|
2018-03-23 19:23:47 +00:00
|
|
|
<div class="row justify-content-md-center">
|
|
|
|
<div class="col-xs-10 col-md-4 center" id="initLoader">
|
2018-03-23 18:16:56 +00:00
|
|
|
<i class="fa fa-refresh fa-spin fa-5x"></i><br>
|
|
|
|
</div>
|
2018-03-23 19:23:47 +00:00
|
|
|
<div class="w-100"></div>
|
|
|
|
<div class="col-xs-12 col-sm-8 col-md-6 col-lg-6">
|
2017-06-14 18:40:12 +00:00
|
|
|
<div class="list-group" id="keylist">
|
|
|
|
<!-- FIXME: Remove this -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div> <!-- /#application -->
|
|
|
|
|
|
|
|
<div id="login">
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12 col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-6 col-lg-offset-3">
|
|
|
|
|
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading">Please sign in!</div>
|
|
|
|
<div class="panel-body">
|
|
|
|
<p>
|
|
|
|
Use Github authentication to sign into your Vault instance and get access to your one-time passwords:
|
|
|
|
</p>
|
|
|
|
<p class="center">
|
|
|
|
<a href="{{ .authurl }}" class="btn btn-primary"><i class="fa fa-github" aria-hidden="true"></i> Sign-in with Github</a>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div> <!-- /#login -->
|
|
|
|
|
|
|
|
<div id="templates">
|
2017-06-14 21:15:15 +00:00
|
|
|
<div id="tpl-otp-item">
|
2018-03-23 19:23:47 +00:00
|
|
|
<a class="list-group-item d-flex justify-content-between align-items-center otp-item">
|
|
|
|
<span>
|
|
|
|
<i class="fa fa-fw"></i>
|
|
|
|
<span class="title">Some Site</span>
|
|
|
|
</span>
|
2017-06-14 18:40:12 +00:00
|
|
|
<span class="badge">145 369</span>
|
|
|
|
</a>
|
|
|
|
</div>
|
2017-06-14 21:15:15 +00:00
|
|
|
<div id="tpl-message">
|
2018-03-23 18:06:48 +00:00
|
|
|
<div class="row">
|
|
|
|
<div class="alert alert-dismissible col-sm-12 col-xs-12 col-md-12 col-lg-12" role="alert">
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
|
|
<strong class="keyword">Warning!</strong> <span class="message"></span>
|
|
|
|
</div>
|
2017-06-14 21:15:15 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2017-06-14 18:40:12 +00:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
2018-03-23 19:23:47 +00:00
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
|
|
|
|
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
|
2017-06-14 18:40:12 +00:00
|
|
|
<!-- Include all compiled plugins (below), or include individual files as needed -->
|
2018-03-23 19:23:47 +00:00
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.min.js"
|
|
|
|
integrity="sha256-5+02zu5UULQkO7w1GIr6vftCgMfFdZcAHeDtFnKZsBs=" crossorigin="anonymous"></script>
|
2017-06-14 18:40:12 +00:00
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"
|
|
|
|
integrity="sha256-Daf8GuI2eLKHJlOWLRR/zRy9Clqcj4TUSumbxYH9kGI=" crossorigin="anonymous"></script>
|
|
|
|
<!-- Application specific JavaScript -->
|
|
|
|
<script src="application.js"></script>
|
|
|
|
</body>
|
|
|
|
</html>
|