OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
3.1 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Example App - Login</title>
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<div class="container">
<img class="logo" src="{{.LogoURI}}" alt="Dex">
<form id="login-form" action="/login" method="post">
<div class="app-description">
This is an example application for <b>Dex</b> OpenID Connect provider.<br>
Learn more in the <a href="https://dexidp.io/docs/" target="_blank">documentation</a>.
</div>
<div class="login-buttons">
<button type="submit" class="login-button primary-button">
Authorization Code Flow
</button>
<button type="button" id="device-grant-btn" class="login-button primary-button">
Device Code Flow
</button>
</div>
<details class="advanced">
<summary>Advanced options</summary>
<div class="field">
<label>Scopes:</label>
<small class="hint">Select OpenID Connect scopes to request. Standard scopes are pre-selected.</small>
<div class="scopes-list" id="scopes-list">
{{range .ScopesSupported}}
<div class="scope-item">
<input type="checkbox" name="extra_scopes" value="{{.}}" id="scope_{{.}}">
<label for="scope_{{.}}">{{.}}</label>
</div>
{{end}}
</div>
{{if eq (len .ScopesSupported) 0}}
<div class="hint">No scopes from discovery - add custom scopes below.</div>
{{end}}
<div class="inline-input">
<input type="text" id="custom_scope_input" placeholder="custom-scope">
<button type="button" id="add-custom-scope">Add scope</button>
</div>
</div>
<div class="field">
<label for="cross_client_input">Cross-Client auth:</label>
<small class="hint">Each client is sent as audience:server:client_id scope.</small>
<div id="cross-client-list"></div>
<div class="inline-input">
<input type="text" id="cross_client_input" placeholder="client-id">
<button type="button" id="add-cross-client">Add</button>
</div>
</div>
<div class="field">
<label for="connector_id">Connector:</label>
<small class="hint">Specify a connector ID to bypass the connector selection screen.</small>
<input type="text" id="connector_id" name="connector_id" placeholder="connector id">
</div>
</details>
</form>
</div>
<script src="/static/app.js"></script>
</body>
</html>