我正在学习使用AWS lambda,dynamodb,cogito sync创建无服务器API服务器。在我与users
表混淆之前,它一直很顺利。
所以基本上,我正在尝试制作推特克隆API。因此,作为用户,我应该能够创建帖子,关注其他用户等。
注册和登录由Cognito Identity成功处理,问题是如何访问cognito上的Users
数据?用户可以拥有包含其他用户ID的following
和followers
属性。
我目前所做的,在我使用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;
};
答案 0 :(得分:0)
听起来您正在使用Cognito用户池,在这种情况下,您可以使用GetUser API。给定用户的上下文,它将返回针对该用户存储的所有属性。
我无法评论存储用户元数据的最佳方式,因为它会根据您应用的具体情况和需求而有很大差异,但它可能值得在Cognito的系统上阅读custom attributes,允许您存储针对用户的自定义数据。这些可以从Cognito控制台配置/添加。