0

我开始使用 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 });
}
4

1 回答 1

0

只需在此行添加 false,用户不是在登录时创建的,而是在凭据构建时创建的。

  const credentials = Realm.Sync.Credentials.usernamePassword(nickname, '123', false); // 123 password is hard coded,this is only for testing
于 2018-11-02T15:02:18.973 回答