AWS Cognito InitiateAuth через функцию Lambda приводит к ошибке - PullRequest
0 голосов
/ 03 марта 2019

Я пишу лямбда-функцию в 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

Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 04 марта 2019

Когда мы создаем новый клиент приложения, по умолчанию он имеет связанный с ним секрет клиента приложения.

Я создал еще один клиент приложения, без «Client Secret».Я использовал этот новый клиент приложения.

Я изменил код для использования API AdminInitiateAuth вместо InitiateAuth

Мне удалось успешно войти в систему.

Вот ссылкассылка, которая была полезна - Усиление «Невозможно проверить секретный хеш для клиента»

...