使用AWS认知身份创建用户

时间:2016-12-08 03:59:20

标签: javascript node.js api aws-api-gateway amazon-cognito

我正在学习使用AWS lambda,dynamodb,cogito sync创建无服务器API服务器。在我与users表混淆之前,它一直很顺利。

所以基本上,我正在尝试制作推特克隆API。因此,作为用户,我应该能够创建帖子,关注其他用户等。

注册和登录由Cognito Identity成功处理,问题是如何访问cognito上的Users数据?用户可以拥有包含其他用户ID的followingfollowers属性。

我目前所做的,在我使用cognito身份注册的应用程序上,然后我将再次调用API网关在dynamodb上创建user。所以基本上有两个独立的用户数据。我不确定这是否是正确的方法。

我应该在后端的cognito上而不是在应用上拨打电话吗?我应该为此单独设置users表吗?

ionic

上的前端代码示例
$scope.signup = function() {
  $ionicLoading.show({
    template: 'Registering user...'
  });
  // this is the factory for signing up
  awsCognitoIdentityFactory.signUp($scope.user.email, $scope.user.name, $scope.user.email, $scope.user.password,
    function(err, result) {
      if (err) {
        errorHandler(err);
        return false;
      }
      // creating user on the api
      User.create($scope.user).then(function(response) {
        console.log(response);
      });
      // store locally
      store.set('user', $scope.user);

      $ionicLoading.hide();
      $scope.$apply();

      $scope.user = {}; //clear register form
      $state.go('confirmation');
    });
  return true;
};

1 个答案:

答案 0 :(得分:0)

听起来您正在使用Cognito用户池,在这种情况下,您可以使用GetUser API。给定用户的上下文,它将返回针对该用户存储的所有属性。

我无法评论存储用户元数据的最佳方式,因为它会根据您应用的具体情况和需求而有很大差异,但它可能值得在Cognito的系统上阅读custom attributes,允许您存储针对用户的自定义数据。这些可以从Cognito控制台配置/添加。