1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
{% set title = title|default(_fsdomain('Login')) %}
{% extends "security/base.html" %}
{% from "security/_macros.html" import render_field_with_errors, render_field, render_field_errors, render_form_errors, prop_next %}
{% block content %}
{% include "security/_messages.html" %}
<h1>{{ _fsdomain('Login') }}</h1>
<form action="{{ url_for_security('login') }}{{ prop_next() }}" method="post" name="login_user_form">
{{ login_user_form.hidden_tag() }}
{{ render_form_errors(login_user_form) }}
{% if login_user_form.email and "email" in identity_attributes %}
{{ render_field_with_errors(login_user_form.email) }}{% endif %}
{% if login_user_form.username and "username" in identity_attributes %}
{% if login_user_form.email and "email" in identity_attributes %}<h3>{{ _fsdomain("or") }}</h3>{% endif %}
{{ render_field_with_errors(login_user_form.username) }}
{% endif %}
<div class="fs-gap">{{ render_field_with_errors(login_user_form.password) }}</div>
{{ render_field_with_errors(login_user_form.remember) }}
{{ render_field_errors(login_user_form.csrf_token) }}
{{ render_field(login_user_form.submit) }}
</form>
{% if security.webauthn %}
<hr class="fs-gap">
<h2>{{ _fsdomain("Use a Passkey to Sign In") }}</h2>
<div>
<form method="get" id="wan_signin_form" name="wan_signin_form">
<input id="wan_signin" name="wan_signin" type="submit" value="{{ _fsdomain('Sign in with a passkey') }}" formaction="{{ url_for_security('wan_signin') }}{{ prop_next() }}">
</form>
</div>
{% endif %}
{% if security.oauthglue %}
<hr class="fs-gap">
<h2>{{ _fsdomain("Use Social Oauth to Sign In") }}</h2>
{% for provider in security.oauthglue.provider_names %}
<div class="fs-gap">
<form method="post" id="{{ provider }}_form" name="{{ provider }}_form">
<input id="{{ provider }}" name="{{ provider }}" type="submit" value="{{ _fsdomain('Sign in with %(provider)s', provider=provider) }}" formaction="{{ url_for_security('oauthstart', name=provider) }}{{ prop_next() }}">
{% if csrf_token is defined %}
<input id="{{ provider }}_csrf_token" name="{{ provider }}_csrf_token" type="hidden" value="{{ csrf_token() }}">
{% endif %}
</form>
</div>
{% endfor %}
{% endif %}
{% include "security/_menu.html" %}
{% endblock content %}
|