在Amplify Auth / Cognito中,手机号必须以国际格式(例如:+1 555-555-5555)为前缀,且不包含任何空格、括号、破折号或其他分隔符。
以下是示例代码,用于创建与AWS Cognito用户池连接的身份验证注册组件,并对手机号格式进行验证:
import Amplify, { Auth } from 'aws-amplify';
// 配置AWC Amplify
Amplify.configure({
Auth: {
// AWS Cognito 身份验证池配置
region: 'your-region',
userPoolId: 'your-user-pool-id',
userPoolWebClientId: 'your-app-client-id',
},
});
// 在代码中执行用户注册,请求的示例参数如下
const signUpRequest = {
username: 'user@example.com',
password: 'p@ssword',
attributes: {
// 验证手机号码格式
phone_number: '+15555555555',
},
};
// 使用 Amplify 身份验证注册组件注册新用户
Auth.signUp(signUpRequest)
.then(data => console.log(data))
.catch(err => console.log(err));
请注意在 phone_number 中包含+号,这是必需的。如果您尝试使用无+的格式注册,Amplify Auth / Cognito将无法验证您的电话号码。