首页 > 解决方案 > 使用 Amazon Cognito 将用户添加到用户池

问题描述

我试图了解 Amazon Cognito 的工作原理,但文档有点模糊。我发现几个 API 似乎做类似的事情,两个来自亚马逊,第三个在 Git Hub 上似乎很受欢迎。最后一个似乎也是为浏览器编写的,虽然它确实有效,但它需要 polyfill,这增加了我想避免的复杂性。

我想使用的是https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentity.html 但这似乎是所有用户中最不友好的。有足够的文档,它只是不好。

听起来您使用该函数getId()来创建用户,但是对“帐户 ID”之类的参数的引用是没有意义的。

我实际上需要此 API 中的哪些函数来将用户添加到我的用户池?我什至应该使用这个 API 吗?

标签: node.jsamazon-web-servicesamazon-cognito

解决方案


如果您希望在您的 Web 应用程序客户端上使用它,您可以查看 using amazon-cognito-identity-jsinstead此处记录的内容。

下面的示例用法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());
    });


推荐阅读