我正在尝试了解Amazon Cognito的工作原理,但是文档如此模糊。我发现有几种API似乎做类似的事情,其中两种来自Amazon,第三种在Git Hub上似乎很流行。这最后一个似乎也是为浏览器编写的,虽然它确实起作用,但它需要polyfills,这增加了我想避免的复杂性。
我要使用的是https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentity.html 但这似乎是所有用户中最不友好的。有足够的文档,但这不是很好。
听起来像您使用函数getId()
创建用户,但是有些引用像“帐户ID”这样的参数只是没有意义。
此API实际上需要哪些功能来将用户添加到我的用户池?我什至应该使用这个API?
答案 0 :(得分:0)
在CognitoIdentiyServiceProvider https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html中使用adminCreateUser
方法
请注意,我来自C ++,但这在Javascript中看起来是一样的。
答案 1 :(得分:0)
如果您希望在Web应用程序客户端上使用它,可以考虑使用amazon-cognito-identity-js
代替here.
下面signUp
的示例用法:
const AmazonCognitoIdentity = require('amazon-cognito-identity-js')
var poolData = {
UserPoolId : '...', // Your user pool id here
ClientId : '...' // Your client id here
};
var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var attributeList = [];
var dataEmail = {
Name : 'email',
Value : 'email@mydomain.com'
};
var dataPhoneNumber = {
Name : 'phone_number',
Value : '+15555555555'
};
var attributeEmail = new AmazonCognitoIdentity.CognitoUserAttribute(dataEmail);
var attributePhoneNumber = new AmazonCognitoIdentity.CognitoUserAttribute(dataPhoneNumber);
attributeList.push(attributeEmail);
attributeList.push(attributePhoneNumber);
userPool.signUp('username', 'password', attributeList, null, function(err, result){
if (err) {
alert(err.message || JSON.stringify(err));
return;
}
var cognitoUser = result.user;
console.log('user name is ' + cognitoUser.getUsername());
});