Я изучаю создание сервера сервера без сервера с использованием AWS лямбда, dynamodb, cogito sync. Все шло хорошо, пока я не смутился с таблицей users
.Создание пользователя с использованием AWS cognito identity
Так что, в основном, я пытаюсь сделать твитерский клон API. Так как пользователь должен иметь возможность создавать сообщения, следовать за другими пользователями и т. Д.
Регистрация и подпись успешно обрабатываются Cognito Identity, проблема в том, как получить доступ к данным Users
на cognito? Пользователь может иметь атрибуты following
и followers
, которые содержат другие идентификаторы пользователей.
Что я сделал в настоящее время, в приложении, которое я регистрирую, используя идентификатор cognito, тогда я сделаю еще один вызов API-шлюза, чтобы создать user
на dynamodb. Таким образом, в основном есть две отдельные данные пользователей. Я не уверен, что это правильный способ сделать это.
Должен ли я позвонить по телефону cognito
на бэкэнд вместо приложения? Должен ли я иметь отдельную таблицу users
?
Пример Front End код на 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;
};
yes, correct Я пользовательские пулы пользователей cognito. Этот API-интерфейс GetUser, который вы упомянули, работает только тогда, когда я получаю текущий пользователь? А если я хочу увидеть профиль других людей? Также я проверил, что пользовательские атрибуты сохраняют только 'String | Номер | DateTime | Boolean' Что делать, если я хочу хранить массив, например 'последователи' или' друзья'? – danggrianto
Правильно, пользователь не может использовать это для другого пользователя. Существует административная версия этого API, однако это идеально не будет использоваться в самом приложении. Это примерно то, что я имел в виду, в зависимости от потребностей ваших приложений. Cognito не поддерживает использование одного пользователя, который видит другие атрибуты, но это можно сделать с помощью внешнего хранилища данных, дополняющего то, что Cognito уже делает. Набор последователей/друзей может быть выполнен с именем пользователя или «под» (уникальный идентификатор пользователя) в массиве, сериализованным в строку. Однако это также можно было бы поместить во внешний хранилище данных. –