gpt4 book ai didi

json - 需要地址的 AWS Cognito NEW_PASSWORD_REQUIRED 挑战,但它似乎不接受任何形式的地址类型

转载 作者:行者123 更新时间:2023-12-05 03:02:39 25 4
gpt4 key购买 nike

我试图为 cognito 实现一个 spring boot 后端,我设法创建了一个并执行了登录,登录后我得到了新密码,需要更改默认密码,所以我提交了我的请求但是有一个异常(exception)说:

Invalid attributes given, address is missing.

我尝试将地址作为字符串和 json 对象发送,但发生了同样的异常。

我检查了我的 cognito 池中的读写权限,它们必须是可写的!

那么关于这个问题有什么建议吗?

Aws cognito 池地址属性既不能作为对象也不能在请求中作为字符串发送,它总是返回以下异常:

Invalid attributes given, address is missing (Service: AWSCognitoIdentityProvider; Status Code: 400; Error Code: InvalidParameterException; Request ID: 638dd0e5-2d76-11e9-839d-2b2efb147c0b)

第一次尝试是发送与地址无关的请求,它返回相同的异常,然后我将它添加为字符串和相同的异常,然后我尝试将它作为对象发送同样的事情发生了。

关于如何发送属性有什么建议吗?

我是这样实现的:

Map<String, String> challengeResponses = new HashMap<String, String>();
challengeResponses.put(USERNAME, passwordRequest.getUserName());
challengeResponses.put(PASSWORD, passwordRequest.getOldPassword());
challengeResponses.put(NEW_PASSWORD, passwordRequest.getNewPassword());
challengeResponses.put("ADDRESS", "test");
AdminRespondToAuthChallengeRequest changeRequest = new AdminRespondToAuthChallengeRequest()
.withChallengeName(ChallengeNameType.NEW_PASSWORD_REQUIRED).withChallengeResponses(challengeResponses).withClientId(clientID).withUserPoolId(poolID)
.withSession(sessionString);

System.out.println(changeRequest.toString());
AdminRespondToAuthChallengeResult challengeResponse = mIdentityProvider.adminRespondToAuthChallenge(changeRequest);

这是我要发送的请求:

{UserPoolId: eu-central-1_RZxg4jT2t,ClientId: 2cdjo5ljk130db1mltjnmv128p,ChallengeName: NEW_PASSWORD_REQUIRED,ChallengeResponses: {address=test, PASSWORD=test!, NEW_PASSWORD=test, USERNAME=test},Session: 144WvRkekrIojcPQGDBBu3XsadMBauwQcAJ3M3JVMxD-CY0rCizK1g4RnNuaNN4b1EJMUlrvSnyd21pAP3zFkIlEFXse1MlOLWaGUQIaIygTzX33Y2no0cmfK2-h88yjiKN5-MQZaK6tmvszCuATmOQCR_OK1qLIDYlp1kKGPM_EpBT-br-e5DL9SEF8XIY5wLWGHYWxo4BUuJAIZpTJ8PpD3ROa46ac5w79lhHIK1QZj13f4G84eVz4X8nwiHgLEGgbUOOpoDBC85KSQan8lb-vfPsHEvpoStFy7_0zgRmJ910DubJXJaiS2IjutBr5txDDaSnTl9Zt4G-_NP6_8E0c5JnXIXZymR9nSSYNP7seHXC7HLtFX6Tbu8XWJlLCtKVc8gXN6j0XTzB3hfu-0zGFc3tJ1sQ6iQtLFupuD9C8HYWP6KH_9v2PlUrGc01uU_OOQx5lLaHbNrOvb4evlx9fovM0B6FuPLfUgNmc8aKGZ0Rw55t-aExpJJ_AY2E42C_RWXVX5YUFZTaRi8OvskQLLlyVt0uWV8w1HRc0uGJc5drTK4c7U7TDCaD2-tMiA5TwlpsdCAxv-kRKfMpXN2D6rzzB9An6tis3n9olV5W0yK-KKB1ietx5C-l-HewPBVz9_g-1ggBvwh3qVYjKe1UHcpd5c8SM8kjcwjwy_8fGphYHR4sZBa5zftyT7dYktKzpJsH8HzbZ4Q8WZOKcGqtyeCzkqZuO0LanSL-6yKlGWPEA4tGUhjvT-mWyPEMg576UMPAcWiO6fV-yUVBG5V3OSRpR00NasyFpmTy8U29XI7bfXUMmgY3-6h4nPgaObi25jnmyhDcp2N4MQQl45d0PvmvxIx7huPIzbVC5NNq7tPg6V4H_88cIb81p4gJZ_FITeeSgVWIYRFSoY7vR4DLL9qS3Ea_pAxaENA,}

最佳答案

在您的用户池设置中,“地址”似乎也是用户的必需属性。

所以在这种情况下,您还必须在散列图中传递该参数:

challengeResponses.put('userAttributes.address', passwordRequest.getAddress())

或者类似的东西。

关于json - 需要地址的 AWS Cognito NEW_PASSWORD_REQUIRED 挑战,但它似乎不接受任何形式的地址类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54621132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com