Go
Abbiamo dotato l'API di un sistema di autenticazione e autorizzazione completo e stateless. Abbiamo custodito le password con bcrypt, emesso e verificato token JWT con particolare attenzione alla sicurezza dell'algoritmo di firma, costruito l'endpoint di login con risposte prudenti alle credenziali errate, e protetto gli endpoint con middleware di autenticazione e controllo dei ruoli, sfruttando il context per trasportare l'identità dell'utente.
Go
I middleware ci hanno permesso di aggiungere comportamento trasversale a tutta l'API senza duplicare codice nei singoli gestori.
Go
L'archivio in memoria che abbiamo usato finora ha un difetto evidente: i dati svaniscono a ogni riavvio del server. In questa puntata introduciamo una persistenza reale, collegando l'API a un database relazionale.
Go
Vedremo i tag delle struct, la gestione dei valori opzionali e nulli, la codifica delle date, la serializzazione personalizzata e costruiremo delle funzioni di supporto per uniformare tutte le risposte del nostro catalogo.