Ответ 1
В настоящее время невозможно настроить для своего пула пользователей. Они настроены на один час для всех.
Я не могу найти документацию, которая объясняет, если и как изменить время истечения срока доступа и токены идентификации для пользовательских пулов AWS Cognito.
Документация указывает, что по умолчанию истекает через 1 час после эмиссии.
Есть ли способ изменить время истечения срока действия?
В настоящее время невозможно настроить для своего пула пользователей. Они настроены на один час для всех.
Вы можете настроить срок действия токена из консоли Cognito General Settings
/App Clients
/{your app}
/Show Details
/Refresh token expiration (days)
По умолчанию срок действия маркера обновления истекает через 30 дней после того, как пользователь вашего приложения войдите в свой пул пользователей. Когда вы создаете приложение для своего пула пользователей, вы можете установить для приложения срок действия маркера обновления (в днях) на любое значение от 1 до 3650.
Похоже, что в настоящее время для веб-клиента нет возможности выбрать что-то менее суток (что довольно странно).
Если вы используете Mobile SDK, тогда
Mobile SDK для Android предлагает возможность изменить минимальное срок действия идентификатора и токенов доступа до значения от 0 до 30 минут. Смотрите метод setRefreshThreshold() CognitoIdentityProviderClientConfig в AWS Mobile SDK для Android Справочник по API.
Cognito использует спецификацию OAuth 2.0. Чтобы обновить токен с истекшим сроком действия, вам нужно будет использовать значение Обновить токен, чтобы получить новый Id токен.
Это действительно довольно просто. Дополнительная информация в документации Cognito для обновления токенов
Я предполагаю, что вопрос заключается в том, как получить детальный контроль завершения сеанса Cognito. Есть способ сделать это. Но сначала давайте вспомним, как работает управление сессиями Cognito:
Так что же вы можете сделать, чтобы лучше контролировать продолжительность сеанса Cognito? Ответ заключается в том, чтобы вставить в стек http-запросов фильтр, который оценивает запрос - если пользователь по какой-либо причине должен выйти из системы, введите перенаправление 302 на конечную точку выхода из Cognito (и очистите также куки файлы сеанса).
Это то, что мы делаем в Kubernetes с Envoy (используя прокси), а также Spring. Он также позволяет подключать логику, которая немедленно аннулирует доступ к пользователю до истечения срока действия его токена доступа в течение 1 часа.
Видеть https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html