Как предотвратить Realm.js от создания новых пользователей, если они не существуют?
Я начинаю использовать Realm.js в качестве базы данных для своих приложений для Android, но у меня возникают проблемы с пониманием, почему, если я регистрируюсь с недопустимыми учетными данными, это не выдает мне ошибку, а вместо этого создает нового пользователя.
Я хотел бы избежать этого и дать пользователю ошибку? Должен ли я проверять вручную, существует ли пользователь перед вызовом функции входа в систему (перед выполнением этого после всегда будет возвращаться значение true)?
try {
// Reset any previous errors that might have happened
this.setState({ error: undefined });
// Attempt to authenticate towards the server
const credentials = Realm.Sync.Credentials.usernamePassword(nickname, '123'); // 123 password is hard coded,this is only for testing
const user = await Realm.Sync.User.login(SERVER_URL, credentials);
// Hide the modal
this.setState({ isModalVisible: false });
this.onAuthenticated(user);
} catch (error) {
this.setState({ isModalVisible: true, error });
}
1 ответ
Решение
Просто добавьте false в этой строке, пользователь создается не при входе в систему, а при создании учетных данных.
const credentials = Realm.Sync.Credentials.usernamePassword(nickname, '123', false); // 123 password is hard coded,this is only for testing