Я пишу лямбда-функцию в Go для аутентификации пользователя, AccessToken / IdToken, который я хочу использовать для последующих вызовов API.
Когда я выполняю код Go из автономной программы, она работает,InitiateAuth был успешным.
Когда я пытался использовать тот же код из лямбда-функции, я получаю сообщение об ошибке NotAuthorizedException: Невозможно проверить секретный хеш для клиента .......
Здесьэто фрагмент кода, который я использую
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
}
Я дал достаточные разрешения для лямбда-пользователя - cognito-idp: AdminCreateUser - cognito-idp: AdminDeleteUser - cognito-idp: InitiateAuth - cognito-idp: ChangePassword -cognito-idp: AdminRespondToAuthChallenge - cognito-idp: AdminInitiateAuth - cognito-idp: ConfirmForgotPassword
Я что-то здесь упускаю?