Autenticando usuários finais com o Amazon Cognito
Implantando Aplicações na AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Criar seu próprio login?
Um novo app precisa de cadastro e login completos
A equipe começa a criar o auth do zero
O Cognito já faz isso com segurança
User pools vs identity pools
User pool
: diretório gerenciado de usuários finais
Faz cadastro, login e emite
tokens
Identity pool
: troca um login por
credenciais AWS
Use juntos: autenticar e depois autorizar acesso à AWS
Os três tokens do Cognito
ID token
: quem é o usuário (claims de identidade)
Access token
: o que o usuário pode chamar
Refresh token
: obter novos tokens sem relogar
Os três são
JWTs
que você pode decodificar e validar
Identidade federada
Federation
: entrar com um provedor de identidade externo
Social: Google, Facebook, Apple
Corporativo: provedores
SAML
e
OIDC
O Cognito intermedia a confiança e emite seus próprios tokens
Cognito como autorizador do API Gateway
O API Gateway pode usar um
Cognito authorizer
O cliente envia seu token no
Authorization header
O API Gateway valida o token antes do backend
Tokens inválidos ou expirados são
rejeitados na borda
Um fluxo típico: login até chamada de API
Usuário faz login no
user pool
Recebe tokens ID, access e refresh
O cliente chama o API Gateway com o
access token
O autorizador Cognito valida e o backend executa
Erros comuns no Cognito
Enviar o
ID token
onde deveria ir o access token
Confundir user pools com identity pools
Tentar autorizar
acesso à AWS
só com user pool
Armazenar tokens de forma insegura no cliente
Vamos praticar!
Implantando Aplicações na AWS
Preparing Video For Download...