2017-02-15 3 views
3

Я создаю новый пул пользователей Cognito в AWS. Одним из атрибутов пользователя является номер телефона. В документации по пулу пользователей указано, что формат номера телефона должен начинаться со знака плюс (+), что-то вроде «+14325551212» для Соединенных Штатов. Но как насчет других стран. Я пробовал в бразильском формате и получил следующую ошибку: «Недопустимый формат номера телефона». Итак, допустимы ли только номера в США?Как изменить формат phone_number при создании пользовательского пула AWS Cognito?

+0

Можете ли вы привести пример того, что вы пробовали, что не работает? – doorstuck

+0

@doorstuck, Это часть кода. Таким образом, если телефон находится в формате США, код работает нормально, если он «+5551993399000» (бразильский формат), код не работает: 'var params = { ClientId: '...', Пароль: пароль, Имя пользователя: '...', UserAttributes: [ { Имя: 'phone_number', Значение: телефон } ] }; var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider(); cognitoidentityserviceprovider.signUp (params, function (err, data) { // Реализация } ' – blackjack

ответ

1

Я нахожусь в команде Cognito, и мы недавно установили исправление, которое должно позаботиться об этой проблеме. Поэтому эти номера телефонов должны работать сейчас.

+0

Ionut, теперь она работает как ожидалось. Потрясающие !! – blackjack

+0

хорошо, на лондонском экземпляре cognito. Я помещаю в uk число * точно *, как указано, и его отклонение. "+447909123456". что дает? – Brad

+0

Привет, У меня есть аналогичная проблема прямо сейчас, вот моя ошибка: 'Ошибка выполнения« SignUp »на« https://cognito-idp.us-west-2.amazonaws.com »; Ошибка AWS HTTP: ошибка клиента: POST https://cognito-idp.us-west-2.amazonaws.com привел к ответу 400 Bad Request: {"__ type": "InvalidParameterException", "message": "Invalid phone number format. "} InvalidParameterException (client): Недопустимый формат номера телефона. - {"__type": "InvalidParameterException", "message": "Недопустимый формат номера телефона."} '. Любая помощь? – mega6382

1

Cognito использует SNS для отправки SMS-сообщений, так что все страны в приведенном ниже списке должны быть поддержаны (Бразилия находится в списке):

http://docs.aws.amazon.com/sns/latest/dg/sms_supported-countries.html

AWS настоятельно рекомендует номер E.164 форматирования для всех телефонов номера в поле «Кому» и «От» (если применимо). Я не очень хорошо знаком с бразильскими номерами, есть ли что-то особенное в этом конкретном?

+0

Hi @Ionut Trestian. На самом деле нет ничего особенного в бразильских номерах. См. Этот пример« +55 51 99442 7676 »(без пробелов) пробелы). Вот почему я не могу понять, почему это число вызывает эту ошибку. – blackjack

+0

Можете ли вы использовать консоль SNS для отправки SMS-сообщений на этот конкретный номер телефона или дать такую ​​же ошибку? Вы можете попробовать это, перейдя в SNS консоль и нажатие на текстовые сообщения SMS (доступно только в некоторых регионах, таких как US East 1). –

+0

Я уже это сделал. В SNS-консоли смс идет хорошо. Поэтому я понял, что после кода страны (+55) две цифры для кода зоны, im это область случаев, код ls 51. Вот проблема, если мы установили как код зоны один из следующих: 11, 21, 41 ошибка не возникает. , если код зоны равен 51, в сообщении об ошибке указано, что это недопустимый формат. На самом деле это нормальное число. Итак, если номер +5511994427578, все в порядке. С другой стороны, если число равно +5551994427565, ошибка вызывает – blackjack

Смежные вопросы