Login ainda nao funciona mas esta quase

This commit is contained in:
LS
2025-03-18 17:31:59 -03:00
parent aa22102b5a
commit 14c88bb1e4
7 changed files with 560 additions and 125 deletions

View File

@@ -6,34 +6,39 @@
<div class="container">
<div class="row">
<div class="col-md-6 offset-md-3">
<h2 class="mb-4">Login</h2>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div class="alert alert-{{ category }}">{{ message }}</div>
{% endfor %}
{% endif %}
{% endwith %}
<form method="post">
<div class="mb-3">
<label for="username" class="form-label">Usuário:</label>
<input type="text" class="form-control" id="username" name="username" required>
<div class="card mt-5">
<div class="card-header">
<h3 class="text-center">Login</h3>
</div>
<div class="mb-3">
<label for="password" class="form-label">Senha:</label>
<input type="password" class="form-control" id="password" name="password" required>
<div class="card-body">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div class="alert alert-{{ category }}">{{ message }}</div>
{% endfor %}
{% endif %}
{% endwith %}
<form method="POST">
<div class="mb-3">
<label for="username" class="form-label">Usuário</label>
<input type="text" class="form-control" id="username" name="username" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Senha</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<div class="mb-3">
<label for="otp" class="form-label">Código OTP</label>
<input type="text" class="form-control" id="otp" name="otp" required>
<small class="form-text text-muted">Digite o código de 6 dígitos do seu aplicativo autenticador</small>
</div>
<div class="d-grid">
<button type="submit" class="btn btn-primary">Entrar</button>
</div>
</form>
</div>
<div class="mb-3">
<label for="otp" class="form-label">Código OTP:</label>
<input type="text" class="form-control" id="otp" name="otp" required>
</div>
<button type="submit" class="btn btn-primary">Entrar</button>
</form>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,41 @@
{% extends 'base.html' %}
{% block title %}Configurar Autenticação em Dois Fatores{% endblock %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-md-8 offset-md-2 text-center">
<div class="card">
<div class="card-header">
<h3>Configure a Autenticação em Dois Fatores</h3>
</div>
<div class="card-body">
<p class="lead">Siga os passos abaixo para configurar a autenticação em dois fatores:</p>
<ol class="text-start mb-4">
<li>Instale um aplicativo autenticador no seu celular (Google Authenticator, Microsoft Authenticator, etc)</li>
<li>Abra o aplicativo e escaneie o QR Code abaixo</li>
<li>O aplicativo irá gerar um código de 6 dígitos a cada 30 segundos</li>
<li>Use este código ao fazer login no sistema</li>
</ol>
<div class="mb-4">
<img src="https://chart.googleapis.com/chart?cht=qr&chs=300x300&chl={{ qr_uri|urlencode }}"
class="img-fluid" alt="QR Code para OTP">
</div>
<div class="alert alert-warning">
<strong>Importante:</strong> Guarde este QR Code em um lugar seguro.
Você precisará dele caso troque de celular ou reinstale o aplicativo autenticador.
</div>
<div class="mt-4">
<a href="{{ url_for('login') }}" class="btn btn-primary">Ir para Login</a>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,58 @@
{% extends 'base.html' %}
{% block title %}Novo Usuário{% endblock %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-md-8 offset-md-2">
<div class="card">
<div class="card-header">
<h3>Cadastro de Novo Usuário</h3>
</div>
<div class="card-body">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div class="alert alert-{{ category }}">{{ message }}</div>
{% endfor %}
{% endif %}
{% endwith %}
<form method="POST">
<div class="mb-3">
<label for="username" class="form-label">Nome de usuário</label>
<input type="text" class="form-control" id="username" name="username" required>
</div>
<div class="mb-3">
<label for="email" class="form-label">E-mail</label>
<input type="email" class="form-control" id="email" name="email" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Senha</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<div class="mb-3">
<label for="confirm_password" class="form-label">Confirmar Senha</label>
<input type="password" class="form-control" id="confirm_password" name="confirm_password" required>
</div>
{% if session.get('is_admin') %}
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" id="is_admin" name="is_admin">
<label class="form-check-label" for="is_admin">Usuário Administrador</label>
</div>
{% endif %}
<button type="submit" class="btn btn-primary">Cadastrar</button>
<a href="{{ url_for('home') }}" class="btn btn-secondary">Voltar</a>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}