我正在尝试使用AWS CLI进行cognito。
我有一个由用户池发出的刷新令牌,比方说“ A ”,其客户端ID为“ clientA ”。
我将其用于同一区域中的另一个用户池“ B ”。我将客户端ID指定为“ 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”参数,而仅考虑了客户端ID。否则,这是一个安全漏洞。
答案 0 :(得分:2)
文档尚不清楚,但是REFRESH_TOKEN
流未使用client-id
或user-pool-id
,因为这些有效地由 提供刷新令牌本身。 (尽管没有它们,身体将无法验证...)
如果您在CLI上执行其他一些命令,您会看到从该命令获取的令牌仅允许您充当最初发布的client-id / user-pool-id。