初始化AWS Cognito的身份验证时,API拒绝我的请求:
InvalidParameterException: Missing required parameter UserName
status code: 400,
以下是请求的内容(是的,我尝试将其放在任何地方,但没有成功)。
params := &cognitoidentityprovider.InitiateAuthInput{
AuthFlow: aws.String("USER_SRP_AUTH"), // Required
ClientId: aws.String("xxxxxxxxxxxxxxxx"), // Required
AuthParameters: map[string]*string{
"username": aws.String("myUser"), // Required
"UserName": aws.String("myUser"), // Required
},
ClientMetadata: map[string]*string{
"username": aws.String("myUser"), // Required
"UserName": aws.String("myUser"), // Required
},
}
请问有什么问题吗?
考虑到文档(https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-dg-pdf.pdf),username
应该与srpA
一起出现在AuthParameters中。该问题是否可能来自srpA?如果是这样,这是什么?它看起来像是密码。
答案 0 :(得分:5)
SRP_A是安全远程密码协议定义的大整数。您是尝试执行SRP还是仅使用用户名和密码进行身份验证。对于用户名/密码身份验证,您应该使用AdminInitiateAuth操作。
答案 1 :(得分:3)
它应该在AuthParameters中,而不是ClientMetadata。
我认为预期的值是USERNAME和SRP_A。