Autenticare gli utenti finali con Amazon Cognito
Distribuire applicazioni su AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Creare un login da zero?
Una nuova app richiede registrazione e accesso completi
Il team inizia a creare l'autenticazione da zero
Cognito lo offre già in modo sicuro
User pool vs identity pool
User pool
: directory gestita degli utenti finali
Gestisce registrazione, accesso ed emette
token
Identity pool
: scambia un login con
credenziali AWS
Usali insieme: prima autentica, poi autorizza l'accesso AWS
I tre token di Cognito
ID token
: chi è l'utente (claim di identità)
Access token
: cosa può chiamare l'utente
Refresh token
: ottieni nuovi token senza rifare il login
Tutti e tre sono
JWT
decodificabili e validabili
Identità federata
Federazione
: accesso con un identity provider esterno
Social: Google, Facebook, Apple
Enterprise: provider
SAML
e
OIDC
Cognito fa da broker di fiducia ed emette i propri token
Cognito come authorizer di API Gateway
API Gateway può usare un
Cognito authorizer
Il client invia il token nell'
Authorization header
API Gateway valida il token prima che giri il backend
Token non validi o scaduti sono
respinti al bordo
Un tipico flusso: accesso → chiamata API
L'utente accede allo
user pool
Riceve ID, access e refresh token
Il client chiama API Gateway con l'
access token
L'authorizer Cognito valida, poi il backend gira
Errori comuni con Cognito
Inviare l'
ID token
dove serve un access token
Confondere user pool e identity pool
Provare ad autorizzare l'
accesso AWS
solo con lo user pool
Memorizzare i token in modo non sicuro sul client
Esercitiamoci!
Distribuire applicazioni su AWS
Preparing Video For Download...