Я пытаюсь реализовать одностраничное приложение, используя AWS Cognito в качестве IdP. Я планирую подключить Node-сервер к MongoDB. Стек MEAN в основном.
Структура моего приложения :
Я выбрал Implicit Grant
Потоки OAuth в настройках Клиент приложения для Пул пользователей .
Email
и OpenID
для разрешенных областей OAuth.
Домашняя страница (вход / регистрация) -> AWS Cognito SignIn / SignUp - > URL обратного вызова [содержит id_token
, access_token
, expires_in
и token_type
] -> Сервер API
Понимание :
Использование методов декодирования упомянуто в документации, я думаю, что я должен быть в состоянии проверить, что access_token
является Действительным и принадлежит моему пулу пользователей.
Используя id_token
, я полагаю, должна иметь возможность извлекать пользовательскую запись.
Вопрос
Каким образом можно ограничить запрос API с действительным токеном на просмотр каких-либо других данных пользователя?
Испытания :
- Разработайте API таким образом, чтобы он не ожидал Параметры запроса и использует ТОЛЬКО токен, отправляемый для каждого запроса API на получение соответствующей записи пользователя.
Требуется уточнение :
Нужно ли отправлять id_token
и access_token
от моего пользовательского интерфейса до сервера API для каждого запроса API, или достаточно одного маркера? Какой это должен быть?
Должен ли мой API-сервер подключаться к AWS Cognito для каждого вызова API, чтобы проверить, действителен ли токен на их конце, или чтобы получить attributes
из пользовательского пула с использованием этого токена?