2022-03-30 09:00:20 +00:00
|
|
|
{% extends "base_login_page.html" %}
|
|
|
|
{% block content %}
|
2023-04-27 10:10:28 +00:00
|
|
|
<style>
|
|
|
|
#providers {
|
|
|
|
margin-top: 40px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.provider-button {
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
margin-top: 10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.provider-button img {
|
|
|
|
margin-right: 1em;
|
|
|
|
width: 1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
2024-02-19 17:42:19 +00:00
|
|
|
<form action="/login?redirect={{ p.redirect_uri.get_encoded() }}" method="post">
|
2022-03-30 09:00:20 +00:00
|
|
|
<div>
|
|
|
|
<div class="form-floating">
|
2022-03-30 10:41:22 +00:00
|
|
|
<input name="login" type="text" required class="form-control" id="floatingName" placeholder="unsername"
|
2022-04-20 07:16:21 +00:00
|
|
|
value="{{ login }}" autofocus>
|
2022-03-30 09:00:20 +00:00
|
|
|
<label for="floatingName">Email address or username</label>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-floating">
|
|
|
|
<input name="password" type="password" required class="form-control" id="floatingPassword"
|
|
|
|
placeholder="Password">
|
|
|
|
<label for="floatingPassword">Password</label>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<button class="w-100 btn btn-lg btn-primary" type="submit">Sign in</button>
|
|
|
|
|
|
|
|
</form>
|
|
|
|
|
2023-04-27 10:10:28 +00:00
|
|
|
<!-- Upstream providers -->
|
|
|
|
{% if !providers.is_empty() %}
|
|
|
|
<div id="providers">
|
|
|
|
{% for prov in providers %}
|
2024-02-19 17:42:19 +00:00
|
|
|
<a class="btn btn-secondary btn-lg provider-button" href="{{ prov.login_url(p.redirect_uri) }}">
|
2023-04-27 10:10:28 +00:00
|
|
|
<img src="{{ prov.logo_url() }}" alt="Provider icon"/>
|
|
|
|
<div style="text-align: left;">
|
|
|
|
Login using {{ prov.name }} <br/>
|
|
|
|
</div>
|
|
|
|
</a>
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
|
2022-03-30 09:00:20 +00:00
|
|
|
{% endblock content %}
|