我对你的问题有点困惑。如果你问:
我可以通过编程方式在 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));
}
}
如果你得到这个工作,你可能想看看这篇关于如何将临时密码更改为真实密码的帖子。