javascript - 通过 Twitter 注册的用户的用户池?

标签 javascript amazon-web-services aws-sdk amazon-cognito

我是 Cognito 的新手。所以我需要澄清一下我应该如何注册通过社交登录注册的用户。

我已经创建了一个用户池和一个联合身份池。

然后,我在用户单击登录按钮时对 Twitter 执行了一个基本的 oauth 请求,然后使用我在成功登录后收到的 Twitter token 和密码,执行了一个获取 Cognito Identity 凭证的请求。

var params = {
  IdentityPoolId: 'my-pool-id',
  Logins: {
    'api.twitter.com': userToken+";"+userSecret
  }
};

// initialize the Credentials object with our parameters
AWS.config.credentials = new AWS.CognitoIdentityCredentials(params);
AWS.config.credentials.get(function(err) {
    if (err) {
        console.log("Error: "+err);
        return;
    }
    console.log("Cognito Identity Id: " + AWS.config.credentials.identityId);

    // Other service clients will automatically use the Cognito Credentials provider
    // configured in the JavaScript SDK.
    var cognitoSyncClient = new AWS.CognitoSync();
    cognitoSyncClient.listDatasets({
        IdentityId: AWS.config.credentials.identityId,
        IdentityPoolId: params.IdentityPoolId
    }, function(err, data) {
        if ( !err ) {
            console.log("success", JSON.stringify(data));
        } else {
      console.log("cognito error", err);
    }
 });

然后我得到一个成功的响应,其中包含一个认知身份 ID 和该用户的数据集列表。

我是否也应该在用户池中注册该用户?当谈到社交登录的概念时,该产品的文档有点脱节。

最佳答案

用户池简单地说就是充当应用程序的用户数据库。它适用于不想管理数据库来存储用户登录数据等的人。

User Pools 是身份提供者,就像 Google、Facebook、Twitter 等一样。

如果您希望只允许用户使用 Twitter 凭据登录您的应用程序,那么您不需要用户池。

只有在您希望创建用户信息的托管数据库时,才考虑使用用户池。

https://aws.amazon.com/blogs/aws/new-user-pools-for-amazon-cognito/

关于javascript - 通过 Twitter 注册的用户的用户池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41338234/

相关文章:

javascript - 如果从 js 代码设置值,则 maxlength 不起作用

amazon-web-services - AWS Sagemaker部署失败

ruby - 如何在dynamodb查询操作中使用通配符*?

Javascript/HTML 复选框获取选中值

javascript - JavaScript 对象和函数的区别

javascript - 扩展 Object.prototype JavaScript

iOS AWSCognito 2.4.X AWSIdentityProviderManager 数字示例

ios - AWS-Cognito 和 DynamoDB 将如何用于移动开发-iOS-Swift

amazon-web-services - 在 AWS ECS 中运行 docker 并传递 env 文件

amazon-web-services - SSL23_GET_SERVER_HELLO :tlsv1 alert internal error