Обновление токенов AWS Cognito для другого пула пользователей также возвращает действительные токены - PullRequest
0 голосов
/ 08 ноября 2018

Я пробовал интерфейс командной строки AWS для Cognito.

У меня есть токен обновления, выданный пулом пользователей, скажем, " A " с идентификатором клиента " clientA ".

Я использовал это против другого пула пользователей " B " в том же регионе.Я указал идентификатор клиента как «clientA» вместо собственного B.Эта команда сработала и успешно вернула новые токены доступа и ID.

$  aws cognito-idp admin-initiate-auth --user-pool-id "B" 
--region eu-west-1 --client-id clientA --auth-flow 
REFRESH_TOKEN_AUTH --auth-parameters "REFRESH_TOKEN=<refresh-token-from-A>"

Похоже, что AWS Cognito на самом деле не использует параметр "user-pool-id" и учитывает только идентификатор клиента.Или иначе это лазейка в безопасности.

1 Ответ

0 голосов
/ 08 ноября 2018

Документация не совсем понятна по этому поводу, но поток REFRESH_TOKEN не использует client-id или user-pool-id, поскольку они эффективно предоставляются самим токеном обновления.(Хотя тело не будет проверяться без них ...)

Если вы выполните некоторые дополнительные команды в CLI, вы увидите, что токены, которые вы получили от этой команды, позволяют вам действовать только как исходныевыданный идентификатор клиента / идентификатор пула пользователей.

...