我对你的问题有点困惑。 如果您的问题是:
“我能否通过编程方式在Facebook / Google上创建新的用户名和密码?”
那么答案是否定的。 您必须在他们的网站上注册Facebook / Google。 如果您的问题是:
“我可以使用仅存在于Cognito中的用户名和密码创建新用户吗?”
那么答案是肯定的。 要做到这一点,取决于您是在浏览器中还是在服务器上创建用户。 在浏览器中,请使用
Cognito Javascript API。 在服务器上,请使用
Cognito Admin Server APIs。
以下是在Node JS上创建新用户的示例代码(请用您自己的标记替换我的字符串,特别是其中带有@符号的字符串):
let params = {
UserPoolId: "@cognito_pool_id@",
Username: "jhancock",
DesiredDeliveryMediums: ["EMAIL"],
ForceAliasCreation: false,
MessageAction: "SUPPRESS",
TemporaryPassword: "somePassword",
UserAttributes: [
{ Name: "given_name", Value: "John"},
{ Name: "family_name", Value: "Hancock"},
{ Name: "name", Value: "John Hancock"},
{ Name: "email", Value: "john@gmail.com"},
{ Name: "phone_number", Value: "+15125551212"}
],
};
console.log("Sending params to cognito: " + JSON.stringify(params));
let cognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider({region: "us-east-1"});
cognitoIdentityServiceProvider.adminCreateUser(params, function(error, data) {
if (error) {
console.log("Error adding user to cognito: " + JSON.stringify(error), error.stack);
} else {
console.log("Received back from cognito: " + JSON.stringify(data));
}
}
一旦您使其正常工作,您可能会想看看如何将临时密码更改为真实密码的帖子。