为了账号安全,请及时绑定邮箱和手机立即绑定

AWS Cognito InitiateAuth 通过 Lambda 函数导致错误

AWS Cognito InitiateAuth 通过 Lambda 函数导致错误

Go
动漫人物 2023-06-12 15:50:32
我正在 Go 中编写一个 Lambda 函数来对用户进行身份验证,这是我想用于后续 API 调用的 AccessToken/IdToken。当我从一个独立程序执行 Go 代码时,它起作用了,InitiateAuth 成功了。当我尝试使用来自 lambda 函数的相同代码时,出现错误 NotAuthorizedException: Unable to verify secret hash for client ......这是我正在使用的代码片段func AuthenticateUser(userName string, passWord string) (*cognitoidentityprovider.InitiateAuthOutput, error) {    username := aws.String(userName)    password := aws.String(passWord)    clientID := aws.String(constants.COGNITO_APP_CLIENT_ID)    params := &cognitoidentityprovider.InitiateAuthInput{        AuthFlow: aws.String("USER_PASSWORD_AUTH"),        AuthParameters: map[string]*string{            "USERNAME": username,            "PASSWORD": password,        },        ClientId: clientID,    }    authResponse, authError := cognitoClient.InitiateAuth(params)    if authError != nil {        fmt.Println("Error = ", authError)        return nil, authError    }    fmt.Println(authResponse)    fmt.Println(*authResponse.Session)    return authResponse, nil}我已经为 lambda 用户提供了足够的权限 - cognito-idp:AdminCreateUser - cognito-idp:AdminDeleteUser - cognito-idp:InitiateAuth - cognito-idp:ChangePassword - cognito-idp:AdminRespondToAuthChallenge - cognito-idp:AdminInitiateAuth - cognito-idp:确认忘记密码我在这里错过了什么吗?
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

当我们创建一个新的 App 客户端时,默认情况下它有一个关联的 App 客户端密码。

我又创建了一个没有“Client Secret”的应用程序客户端。我使用了这个新的 App 客户端。

我修改了代码以使用 API AdminInitiateAuth,而不是 InitiateAuth

我能够成功登录。


查看完整回答
反对 回复 2023-06-12
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信