【发布时间】:2022-02-10 05:43:15
【问题描述】:
我正在尝试使用带 NEW_PASSWORD_REQUIRED 的 respondToAuthChallenge 来更改用户的密码。我不断收到“给定属性无效,缺少给定名称”错误。我已经尝试将用户的属性添加到调用中,但我似乎找不到任何关于如何在调用中格式化该数据的文档。
这是原始代码...
$QUERY = $COG_CLIENT->respondToAuthChallenge([
'ChallengeName' => 'NEW_PASSWORD_REQUIRED',
'ClientId' => $COG_CLIENT_ID,
'ChallengeResponses' => [
'USERNAME' => $USER_EMAIL,
'NEW_PASSWORD' => $USER_NEW_PASS,
'SECRET_HASH' => $SEC_HASH,
],
'Session' => $COG_USER_SESSION,
]);
然后我尝试像这样添加用户属性...
$QUERY = $COG_CLIENT->respondToAuthChallenge([
'ChallengeName' => 'NEW_PASSWORD_REQUIRED',
'ClientId' => $COG_CLIENT_ID,
'ChallengeResponses' => [
'USERNAME' => $USER_EMAIL,
'NEW_PASSWORD' => $USER_NEW_PASS,
'SECRET_HASH' => $SEC_HASH,
'UserAttributes' => '{"given_name":"Bob"}',
],
'Session' => $COG_USER_SESSION,
]);
但我仍然遇到同样的错误。如果我将 UserAttributes 值格式化为一个数组,我会收到一条错误消息,指出需要一个字符串。
有人知道我应该如何传递用户属性吗?我对这个非常迷茫。
【问题讨论】:
标签: php amazon-web-services amazon-cognito