2026-07-14

Autenticazione e Autorizzazione per App Web

Autenticazione e Autorizzazione per App Web

L'autenticazione (AuthN) verifica l'identità. L'autorizzazione (AuthZ) determina i permessi. Entrambe sono critiche per applicazioni sicure.

Metodi di Autenticazione

Session/Cookie: Session store server-side, cookie HttpOnly Secure SameSite. JWT: Stateless, self-contained, access + refresh token. API Keys: Server-to-server, long-lived. Magic Links: Email-based passwordless. WebAuthn/Passkeys: Passwordless, phishing-resistant (FIDO2). SSO: SAML, OIDC per enterprise.

OAuth 2.0 e OpenID Connect

OAuth 2.0: Framework autorizzazione (accesso delegato). Flussi: Authorization Code + PKCE (SPA/mobile), Client Credentials (machine-to-machine), Device Code (TV/CLI). OIDC: Identity layer su OAuth 2.0, ID token (JWT), UserInfo endpoint. Scopes: openid, profile, email, custom.

JWT Best Practices

Access token breve (15-30min). Refresh token: Ruota, memorizza sicuro (HttpOnly cookie o secure storage). Valida: Firma (RS256/ES256), exp, nbf, iss, aud. Mai dati sensibili in payload. Algoritmo: RS256 (asimmetrico) preferito a HS256. JWKS per rotazione chiavi.

Gestione Sessioni

Cookie sicuri: HttpOnly, Secure, SameSite=Lax/Strict, Domain/Path scoped. Protezione CSRF: SameSite cookie (moderno), CSRF token (legacy). Session fixation: Rigenera ID al login. Timeout inattività. Limiti sessioni concorrenti. Revoca: Token blacklist, scadenza breve, o distributed session store.

Autenticazione Multi-Fattore (MFA)

TOTP: Time-based OTP (Google Authenticator, Authy). SMS/Email: Meno sicuro (SIM swap, compromissione email). WebAuthn/Passkeys: Più forte, phishing-resistant. Backup codes: Per recovery. Adaptive MFA: Risk-based (location, device, behavior).

Modelli di Autorizzazione

RBAC: Role-Based Access Control (ruoli → permessi). ABAC: Attribute-Based (attributi utente, risorsa, ambiente). ReBAC: Relationship-Based (stile Google Zanzibar). Policy engine: OPA (Rego), Casbin, Cedar. Applica a: API gateway, middleware, database (RLS).

Provider Auth Moderni

Auth0 / Okta: Enterprise, funzionalità estese, costoso. Clerk: Developer-friendly, componenti React/Next.js, UI gestione utenti. Supabase Auth: Postgres-based, OIDC, row-level security. NextAuth.js: Next.js nativo, provider multipli, adapter pattern. Firebase Auth: Ecosistema Google, free tier generoso. AWS Cognito: Integrazione AWS, setup complesso. Lucia: Leggero, framework-agnostico, bring your own DB.

Considerazioni Sicurezza

Rate limiting: Login, registrazione, password reset. Brute force protection: Account lockout, CAPTCHA. Credential stuffing: Breached password check (HaveIBeenPwned). Header sicuri: CSP, HSTS. Audit logging: Eventi auth. Revoca sessione su cambio password. Password hashing: Argon2id, bcrypt, scrypt (mai plain, MD5, SHA).

Lavoriamo insieme

Hai bisogno di maggiori informazioni, aiuto con il tuo progetto o di sviluppare un'idea?

Che si tratti di una domanda semplice, un dubbio rapido o una chat di 5 minuti, mandami un messaggio—non costa nulla e sono sempre pronto ad aiutare. Mi piace ascoltare per capire il problema, essere creativo nelle soluzioni e puntare a idee semplici, affidabili e non complicate da realizzare rapidamente.

Contattami

Cambia Argomento

Scegli un argomento specializzato da esplorare: