【发布时间】:2021-10-09 12:45:18
【问题描述】:
我们正在使用 Amplify 和 AWS Cognito,使用 SRP。 根据我们对 SRP 的理解,密码不应通过网络以纯文本形式发送。
当用户需要在登录时更改密码时,我们使用 Auth.completeNewPassword 方法。查看请求,密码清楚地以纯文本形式发送。 这是为什么呢?
【问题讨论】:
标签: amazon-cognito aws-amplify srp-protocol
我们正在使用 Amplify 和 AWS Cognito,使用 SRP。 根据我们对 SRP 的理解,密码不应通过网络以纯文本形式发送。
当用户需要在登录时更改密码时,我们使用 Auth.completeNewPassword 方法。查看请求,密码清楚地以纯文本形式发送。 这是为什么呢?
【问题讨论】:
标签: amazon-cognito aws-amplify srp-protocol
这是因为即使在 SRP 中,您也需要至少向服务器发送一次密码。
当您注册或更改密码时,您会向服务器发送两个值:username 和 password。服务器为该username 生成一个新的盐,并使用username、password 和salt(以及其他)计算一个名为verifier 的值。然后它会存储以下信息:username、salt 和 verifier。
从现在开始,您不再需要通过网络发送密码。
【讨论】: