【问题标题】:AWS Cognito IntitiateAuth: Missing required parameter UserNameAWS Cognito IntitiateAuth:缺少必需的参数 UserName
【发布时间】:2016-12-05 23:53:05
【问题描述】:

初始化 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吗?如果是这样,这是什么?好像是密码。

【问题讨论】:

    标签: amazon-web-services authentication aws-sdk amazon-cognito single-responsibility-principle


    【解决方案1】:

    它应该在 AuthParameters 中,而不是 ClientMetadata。

    我相信预期的值是 USERNAME 和 SRP_A。

    【讨论】:

    • 非常感谢,您说的很对!但是对于 SRP_A,我假设它指的是密码。当我输入初始密码时,我收到:InvalidParameterException: 1 validation error detected: Value 'toto123456' at 'a' failed to satisfy constraint: Member must satisfy regular expression pattern: ^[0-9a-fA-F]+$ 当我输入一些匹配表达式的字符串时,我当然会得到:InvalidParameterException: Invalid input given 请问 SRP_A 值到底是什么?文档没有提到它。谢谢!
    【解决方案2】:

    SRP_A 是安全远程密码协议定义的一个大整数。您是尝试执行 SRP 还是仅使用用户名和密码进行身份验证。对于用户名/密码身份验证,您应该使用 AdminInitiateAuth 操作。

    【讨论】:

    • 管理员操作用于安全的后端服务器,以避免 SRP 计算明显。您认为在客户端(移动应用程序)上使用它是一个好主意吗?如果不是,这是否意味着我必须在客户端执行所有 SRP 计算?我希望 Cognito API 使用证书,这样我就可以通过 TLS 以纯文本形式发送密码。
    • 我认为从移动应用程序使用 AdminInitiateAuth 不是一个好主意。在这种情况下,是的,您需要从您的移动应用程序中实施 SRP。目前,我们提供用于执行 SRP 计算的 Android、iOS 和 Javascript 的 SDK。可以在我们的 SDK 中找到 Javascript 实现的示例:github.com/aws/amazon-cognito-identity-js
    猜你喜欢
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2018-10-28
    • 2018-12-01
    • 2016-06-29
    相关资源
    最近更新 更多