|
|
- <?php $this->layout('layout', ['title' => $title]); ?>
-
- <div class="column">
-
- <h1>X-Ray Certificate Setup</h1>
-
- <?php if(isset($_SESSION['me'])): ?>
- <?php if(isset($verified) && $verified): ?>
- <div class="section">
- <p>The challenge was saved and is now accessible via the <code>.well-known</code> path.</p>
- <p><a href="/.well-known/acme-challenge/<?= $token ?>">view challenge</a></p>
- </div>
- <?php else: ?>
- <div class="section">
- <form class="" action="/cert/save-challenge" method="post">
- <div class="field"><input type="text" name="token" placeholder="http://xray.p3k.io/.well-known/acme-challenge/_Tzyxwvut..." value="<?= isset($token) ? $token : '' ?>"></div>
- <div class="field"><textarea name="challenge" rows="4" placeholder="challenge value"><?= isset($challenge) ? $challenge : '' ?></textarea></div>
- <div class="field"><button type="submit" class="button">Save</button></div>
- </form>
- </div>
- <?php endif ?>
-
- <div style="margin-top: 1em; font-size: 12px;">
- Signed in as <?= $_SESSION['me'] ?> <a href="/cert/logout">Sign Out</a>.
- </div>
- <?php else: ?>
- <div class="section">
- <form class="" action="/cert/auth" method="get">
- <div class="field"><input type="url" name="me" placeholder="https://you.example.com"></div>
- <div class="field"><button type="submit" class="button">Sign In</button></div>
-
- <input type="hidden" name="client_id" value="https://<?= $_SERVER['SERVER_NAME'] ?>/">
- <input type="hidden" name="redirect_uri" value="https://<?= $_SERVER['SERVER_NAME'] ?>/cert/redirect">
- <input type="hidden" name="state" value="<?= isset($state) ? $state : '' ?>">
- </form>
- </div>
- <?php endif ?>
-
- </div>
- <script>
- var base = window.location.protocol + "//" + window.location.hostname + "/";
- document.querySelector("input[name=client_id]").value = base;
- document.querySelector("input[name=redirect_uri]").value = base+"cert/redirect";
- </script>
- <style type="text/css">
- body {
- color: #212121;
- font-family: "Helvetica Neue", "Calibri Light", Roboto, sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- }
- body {
- background-color: #e9e9e9;
- font-size: 16px;
- }
- h1 {
- padding-top: 6rem;
- padding-bottom: 1rem;
- text-align: center;
- }
-
- a {
- color: #4183c4;
- text-decoration: none;
- }
-
- .column {
- max-width: 450px;
- margin: 0 auto;
- }
-
- .section {
- border: 1px #ccc solid;
- border-radius: 6px;
- background: white;
- padding: 12px;
- margin-top: 2em;
- }
- .help {
- text-align: center;
- font-size: 0.9rem;
- }
-
- form .field {
- margin-bottom: .5rem;
- display: flex;
- }
- form input, form textarea, form button {
- width: 100%;
- border: 1px #ccc solid;
- border-radius: 4px;
- flex: 1 0;
- font-size: 1rem;
- }
- form input, form textarea {
- padding: .5rem;
- }
- form .button {
- background-color: #009c95;
- border: 0;
- border-radius: 4px;
- color: white;
- font-weight: bold;
- font-size: 1rem;
- cursor: pointer;
- padding: 0.5rem;
- }
-
-
- </style>
|