【问题标题】:Invalid credentials when trying to authenticate with password in Realm尝试在领域中使用密码进行身份验证时凭据无效
【发布时间】:2017-01-18 07:27:00
【问题描述】:

我正在尝试使用如下密码验证用户身份:

let syncCredentials = SyncCredentials.usernamePassword(username: email, password: password, register: true)

SyncUser.logIn(with: syncCredentials, server: Constants.Realm.Server) { (realmUser, error) in
    guard let realmUser = realmUser else {
        DDLogError("\(error)")

        return
    }

    DDLogInfo("realmUser: \(realmUser)")
}

但它会打印出这个错误:

可选(Error Domain=io.realm.sync Code=611 "提供的凭据无效。" UserInfo={statusCode=400, NSLocalizedDescription=提供的凭据无效。})

Server 常量是正确的,因为我可以使用 Facebook 凭据成功连接到领域对象服务器。

【问题讨论】:

    标签: swift realm realm-mobile-platform


    【解决方案1】:

    如果您注册的用户已经存在,您可能会收到此错误,因此如果用户已经注册,请指定register: false

    【讨论】:

    • 我认为它在第一次调用时也抛出了错误,但看起来它第一次工作。稍后我会尝试,但是错误信息非常误导,可以更改吗?此外,关于此的最佳做法是什么?尝试使用true 调用它,并在错误回调中使用false 再试一次?或者有没有办法检查用户是否已经注册?
    • 无法检查用户是否已注册,因为这会泄露现有帐户的隐私信息,请参阅github.com/realm/realm-cocoa/issues/4443 讨论。
    • 它不太适用于我的情况,因为我正在通过 Firebase UI 注册/登录用户,然后尝试在 ROS 上注册它,所以我想我会尝试 @ 987654325@ 然后true 方案。这个答案仍然有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    相关资源
    最近更新 更多