1. ホーム
  2. amazon-web-services

[解決済み] Cognitoのサインアップ時に電話番号の書式が無効である

2022-02-08 08:13:47

質問

nodeJSを使用してcognitoユーザープールに新しいユーザーを作成しようとしていますが、間違った電話番号のエラーが表示されます。

サインアップの方法を教えてください。

module.exports.post = async (username,password,email,phoneNumber) => {
    const environment = {
        UserPoolId: xxxxxxx,
        ClientId: xxxxxx,
    }
    return new Promise((reject,resolve) => {
        const userPool = new AmazonCognitoIdentity.CognitoUserPool(environment);
        const emailData = {
            Name: 'Email',
            Value: email
        };
        const userData = {
            Name: 'Usuário',
            Value: username
        };
        const phoneData = {
            Name: 'Telefone',
            Value: phoneNumber
        };
        const emailAttribute = new AmazonCognitoIdentity.CognitoUserAttribute(emailData);
        const userAttribute = new AmazonCognitoIdentity.CognitoUserAttribute(userData);
        const phoneAttribute = new AmazonCognitoIdentity.CognitoUserAttribute(phoneData);

        userPool.signUp(username,password,[emailAttribute,userAttribute, phoneAttribute], null, (err,data) => {
        if(err) console.log(err);
        resolve(data);
        });
    });
}

渡す数値の形式。

+5521979724910

エラー

{ code: 'InvalidParameterException',
  name: 'InvalidParameterException',
  message: '1 validation error detected: Value \'phone number\' at \'userAttributes.2.member.name\' failed to satisfy constraint: Member must satisfy regular expression pattern: [\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+' }

何かアイデアはありますか?

解決方法は?

その Name 属性値は phone_number ではなく Telefone

const phoneData = {
        Name : 'phone_number',
        Value : '+15555555555'
    };