Назад | Перейти на главную страницу

Как пользователь Cognito может инициализировать TOTP при первом входе в систему, когда требуется MFA?

Я настраиваю Amazon Cognito для аутентификация для использования экземпляра Kibana. Я разрешаю создавать пользователей только администраторам и разрешаю только провайдеру идентификации Cognito User Pool. При создании пользовательского пула я установил для Многофакторной аутентификации значение «требуется» и включил только параметр «Одноразовый пароль на основе времени». Я использую домен Amazon Cognito для страницы входа.

Когда я создаю пользователя Cognito из Консоли AWS, я отправляю приглашение по электронной почте. При переходе по URL-адресу Kibana сервер, как и ожидалось, перенаправляется на страницу входа в Cognito. После входа в систему с временным паролем в электронном письме пользователю необходимо изменить пароль, а затем повторить попытку входа.

Проблема в том, что требуется MFA, но у пользователя нет возможности настроить приложение TOTP. Я ожидал, что установка TOTP последует за сменой пароля. Вместо этого Cognito отклоняет логин из-за того, что MFA не включен:

Для входа необходимо настроить многофакторную аутентификацию (MFA). Настройте MFA и повторите попытку.

При управлении пользователем в Консоли AWS отображается возможность включить смс МИД. Но я не использую SMS.

В Документация TOTP Software Token MFA состояния:

Когда ваш пользователь выбирает программный токен TOTP MFA, позвоните AssociateSoftwareToken для возврата уникального сгенерированного кода общего секретного ключа для учетной записи пользователя. Запрос этого метода API принимает токен доступа или строку сеанса, но не то и другое вместе. Для удобства вы можете распространить секретный ключ в виде кода быстрого ответа (QR).

Но похоже, что мне нужно как-то вызвать API после того, как пользователь «выберет» TOTP. Я не пишу собственное приложение, которое могло бы вызывать API-вызов - эта аутентификация предназначена только для доступа к экземпляру Kibana, предоставленному с Amazon Elasticsearch Service.

Как пользователи могут инициализировать TOTP, чтобы они могли использовать его для завершения входа в систему по мере необходимости?