Автентифікація кінцевих користувачів за допомогою Amazon Cognito
Розгортання застосунків в AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Створювати власний логін?
Новому застосунку потрібні повні реєстрація та вхід
Команда починає будувати автентифікацію з нуля
Cognito вже робить це безпечно
User pools vs identity pools
User pool
: керований каталог кінцевих користувачів
Обробляє реєстрацію, вхід і видає
tokens
Identity pool
: обмінює логін на
AWS credentials
Використовуйте разом: автентифікуйте, потім надавайте доступ до AWS
Три токени Cognito
ID token
: хто користувач (ідентифікаційні твердження)
Access token
: що користувач може викликати
Refresh token
: отримати нові токени без повторного входу
Усі три — це
JWTs
, які можна декодувати й перевірити
Федеративна ідентичність
Federation
: вхід через зовнішнього постачальника ідентичності
Соціальні: Google, Facebook, Apple
Корпоративні: постачальники
SAML
і
OIDC
Cognito посередничає довіру та видає власні токени
Cognito як авторизатор API Gateway
API Gateway може використовувати
Cognito authorizer
Клієнт надсилає свій токен у
Authorization header
API Gateway перевіряє токен до запуску бекенду
Недійсні або прострочені токени
відхиляються на периметрі
Типовий потік: вхід → виклик API
Користувач входить до
user pool
Отримує ID, access і refresh токени
Клієнт викликає API Gateway з
access token
Cognito authorizer перевіряє, потім запускається бекенд
Поширені помилки з Cognito
Надсилання
ID token
там, де потрібен access token
Плутанина між user pools та identity pools
Спроба авторизувати
AWS access
лише через user pool
Небезпечне зберігання токенів на клієнті
Давайте потренуємось!
Розгортання застосунків в AWS
Preparing Video For Download...