Inici de sessió amb 2FA

De Wiki personal d'en Guillem Serrat

Inici de sessió amb 2FA

L’usuari té la possibilitat de iniciar sessió mitjançant 2FA. El segon factor d’autenticació és el correu electrònic que ha registrat. El procés consisteix en enviar un codi de 8 dígits al correu indicat al registre i l’usuari ha d’entrar aquest codi en l’inici de sessió.

És molt important tenir en compte que per poder autenticar-se amb 2FA, cal haver verificat el correu electrònic abans.

Connexió a la BD i inici de sessió (PHP)

Sempre que es treballa amb sessions, el primer que hem de fer és iniciar-la abans d'escriure el codi HTML

session_start();

A més, hem de requerir el fitxer amb les funcions i una connexió a la BD. En aquest cas, si realitzem una autenticació errònia, haurem d'incrementar el número d'intents de login de la BD i per tant requerim la connexió d'escriptura.

require 'funcions.php';
require './connexioBD/connexioRW.php';

Comprovar si està autenticat

En cas que l'usuari està autenticat, el redirigirem directament a la seva pàgina privada. Per comprovar si l'usuari està autenticat farem servir la funció esta_autenticat.

// Redirigir si ja hi ha una sessió activa
if (esta_autenticat()) {
    header('Location: privada.php');
    exit;
}

Formulari d'inici de sessió

Al formulari es mostra dues entrades de text per introduir el nom d'usuari i la contrasenya. També es mostra una casella de selecció perque l'aplicatiu el "recordi"

El formulari es visualitzaria de la següent forma:

Comprovació de credencials i estat de bloqueig

Enviament del correu electrònic amb el codi de verificació

Comprovar que el correu electrònic estigui verificat

Enviament del correu electrònic

Formulari 2FA

Comprovació del codi 2FA i inici de sessió

Comprovació del codi 2FA

Inici de sessió