Files
flask-2fa-auth/app/templates/auth/register.html
2025-05-30 00:07:07 +03:00

109 lines
4.6 KiB
HTML

{% extends "base.html" %}
{% block content %}
<div class="row justify-content-center">
<div class="col-md-6">
<div class="auth-form">
<h2 class="text-center mb-4">
<i class="bi bi-person-plus"></i> Create Account
</h2>
<div class="security-notice">
<strong>Security Notice:</strong> Your password will be securely hashed using bcrypt.
Two-factor authentication will be automatically enabled for enhanced security.
</div>
<form method="POST" novalidate>
{{ form.hidden_tag() }}
<!-- Username field -->
<div class="mb-3">
{{ form.username.label(class="form-label") }}
{{ form.username(class="form-control" + (" is-invalid" if form.username.errors else "")) }}
{% if form.username.errors %}
<div class="invalid-feedback">
{% for error in form.username.errors %}
{{ error }}
{% endfor %}
</div>
{% endif %}
<div class="form-text">3-20 characters, alphanumeric only</div>
</div>
<!-- Email field -->
<div class="mb-3">
{{ form.email.label(class="form-label") }}
{{ form.email(class="form-control" + (" is-invalid" if form.email.errors else "")) }}
{% if form.email.errors %}
<div class="invalid-feedback">
{% for error in form.email.errors %}
{{ error }}
{% endfor %}
</div>
{% endif %}
</div>
<!-- Password field -->
<div class="mb-3">
{{ form.password.label(class="form-label") }}
{{ form.password(class="form-control" + (" is-invalid" if form.password.errors else "")) }}
{% if form.password.errors %}
<div class="invalid-feedback">
{% for error in form.password.errors %}
{{ error }}
{% endfor %}
</div>
{% endif %}
<div class="form-text">Minimum 8 characters</div>
</div>
<!-- Confirm password field -->
<div class="mb-3">
{{ form.password2.label(class="form-label") }}
{{ form.password2(class="form-control" + (" is-invalid" if form.password2.errors else "")) }}
{% if form.password2.errors %}
<div class="invalid-feedback">
{% for error in form.password2.errors %}
{{ error }}
{% endfor %}
</div>
{% endif %}
</div>
<!-- Submit button -->
<div class="d-grid">
{{ form.submit(class="btn btn-primary btn-lg") }}
</div>
</form>
<hr class="my-4">
<div class="text-center">
<p>Already have an account?
<a href="{{ url_for('auth.login') }}" class="text-decoration-none">Sign in here</a>
</p>
</div>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-md-8 offset-md-2">
<div class="card">
<div class="card-header">
<h5><i class="bi bi-info-circle"></i> Security Features</h5>
</div>
<div class="card-body">
<ul class="list-unstyled">
<li><i class="bi bi-check-circle text-success"></i> Passwords are hashed using bcrypt with salt</li>
<li><i class="bi bi-check-circle text-success"></i> CSRF protection on all forms</li>
<li><i class="bi bi-check-circle text-success"></i> Two-factor authentication required</li>
<li><i class="bi bi-check-circle text-success"></i> Secure session management</li>
<li><i class="bi bi-check-circle text-success"></i> Input validation and sanitization</li>
</ul>
</div>
</div>
</div>
</div>
{% endblock %}