我正在学习使用AWS lambda,dynamodb,cogito sync创建无服务器的API服务器。直到我对users
表格感到困惑,它一直很好。使用AWS认证身份创建用户
所以基本上,我试图让Twitter的克隆API。因此,作为用户,我应该能够创建帖子,关注另一个用户等。
Cognit Identity成功处理了注册和登录,问题是如何访问上的认证数据?用户可以拥有包含其他用户标识的following
和followers
属性。
我目前做了什么,在我使用认知身份注册的应用程序上,然后我将再次调用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;
};
是的,正确我是用户cognito用户池。你提到的'GetUser API'只有当我获得当前用户权限时才有效?如果我想看看其他人的个人资料呢? 另外我检查了自定义属性只存储'String | Number |日期时间|布尔'如果我想存储一个数组,比如'followers'或'friends',该怎么办? – danggrianto
这是正确的,用户不能在另一个用户上使用它。有一个该API的管理版本,但理想情况下不会在应用程序本身中使用。 这就是我的意思,这取决于你的应用需求。 Cognito不支持一个用户查看其他属性的用例,但可以通过外部数据存储来增强Cognito的功能。 可以用数组中的用户名或'sub'(唯一用户标识符)来完成一组追随者/朋友,并将其序列化为一个字符串。尽管如此,这也可以放在外部数据存储中。 –