2017-01-18 64 views
0

我想用戶與這樣的密碼進行驗證,密碼驗證時:憑證無效試圖境界

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)") 
} 

但它打印出這樣的錯誤:

Optional(Error Domain=io.realm.sync Code=611 "The provided credentials are invalid." UserInfo={statusCode=400, NSLocalizedDescription=The provided credentials are invalid.})

Server不變是正確的,因爲我可以使用Facebook憑證成功連接到Realm Object Server。

回答

1

如果您註冊已存在的用戶,則可能會出現此錯誤,因此如果用戶已註冊,請指定register: false

+0

我以爲第一次調用時會拋出錯誤,但它看起來像是第一次工作。我稍後再嘗試,但錯誤信息非常誤導,它可能會被更改嗎?另外,關於這個最好的做法是什麼?嘗試用'true'來調用它,並在錯誤回調中用'false'再次嘗試?或者有沒有辦法檢查用戶是否已經註冊? –

+0

無法檢查用戶是否已註冊,因爲它會泄露有關現有帳戶的隱私信息,請參閱https://github.com/realm/realm-cocoa/issues/4443進行討論。 – Dmitry

+0

它並不完全適用於我的情況,因爲我正在通過Firebase UI註冊/記錄用戶,然後嘗試在ROS上註冊它,所以我想我會嘗試'false'和'true'方案。儘管如此,這個答案仍然有效。 –