Как предотвратить 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
Другие вопросы по тегам