Authentifier les utilisateurs finaux avec Amazon Cognito
Déployer des applications sur AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Construire votre propre connexion ?
Une nouvelle appli a besoin d'inscription et connexion complètes
L'équipe veut coder l'authentification à partir de zéro
Cognito le fait déjà de façon sécurisée
User pools vs identity pools
User pool
: annuaire géré des utilisateurs finaux
Gère l'inscription, la connexion et émet des
tokens
Identity pool
: échange une connexion contre des
AWS credentials
À utiliser ensemble : authentifier, puis autoriser l'accès AWS
Les trois jetons Cognito
ID token
: qui est l'utilisateur (énoncés d'identité)
Access token
: ce que l'utilisateur peut appeler
Refresh token
: obtenir de nouveaux tokens sans se reconnecter
Les trois sont des
JWT
décodables et validables
Identité fédérée
Fédération
: se connecter avec un fournisseur d'identité externe
Social : Google, Facebook, Apple
Entreprise : fournisseurs
SAML
et
OIDC
Cognito sert d'intermédiaire de confiance et émet ses propres tokens
Cognito comme autorisateur d'API Gateway
API Gateway peut utiliser un
Cognito authorizer
Le client envoie son jeton dans l'
Authorization header
API Gateway valide le jeton avant l'exécution du backend
Jetons invalides ou expirés
rejetés à la périphérie
Flux type : connexion vers appel d'API
L'utilisateur se connecte au
user pool
Reçoit les jetons ID, access et refresh
Le client appelle API Gateway avec l'
access token
L'autorisateur Cognito valide, puis le backend s'exécute
Erreurs courantes avec Cognito
Envoyer l'
ID token
là où il faut un access token
Confondre user pools et identity pools
Tenter d'autoriser l'
accès AWS
avec un user pool seul
Stocker les jetons de façon non sécurisée côté client
Passons à la pratique !
Déployer des applications sur AWS
Preparing Video For Download...