2016-09-01 87 views
0

我有一個應用程序,我正在與Firebase建立。從本質上講,我試圖建立一個認證系統,允許用戶登錄了使用他們電子郵件/密碼,然後使用相同的電子郵件/密碼登錄。Firebase電子郵件認證系統登錄任何帳戶:

雖然我創建用戶認證系統工作得很好,與發送密碼重置鏈接到指定的電子郵件地址,似乎允許任何人某種原因或其他我登錄認證系統我重置密碼系統沿的任何電子郵件地址(簽署或不簽署)sig n-in並且基本上被認證。

總結:當我進入LoginViewController電子郵件或密碼,它會立即繼續入下一個視圖控制器無論帳戶以前已建立或沒有。


這是我使用的莢:

pod 'Firebase/Database' 
pod 'Firebase/Auth' 
pod 'Firebase/Core' 
pod 'Firebase/Messaging' 

這是我在我的LoginViewController代碼的電子郵件/密碼認證:

@IBAction func loginDidTouch(sender: AnyObject) { 
    if let email = textFieldLoginEmail.text, let password = textFieldLoginPassword.text { 
     FIRAuth.auth()?.signInWithEmail(email, password: password, completion: { (user, error) in 
     if error != nil { 
      // There was an error logging in to this account! 
      print("Unsuccessful sign-in") 
     } else { 
      print("Successful login!") 
      self.performSegueWithIdentifier("SuccessfulAuthentication", sender: nil) 
     } 
    }) 
    } 
} 

我的Firebase控制檯中的數據庫規則:

{ 
    "rules": { 
    ".read": "auth != null", 
".write": "auth != null" 
    } 
} 

另外,我使用的是完全相同的代碼(與遷移語法從火力地堡2.5.1異常火力3.5.2)在另一個應用程序我已經建成使用Firebase 2.5.1(傳統控制檯),它的工作原理與它應該完全相同,並且不會預先註冊任何尚未創建的帳戶(註冊)。


更新修復:火力地堡版本3.6.0發佈日期:16年9月14日):

  • 改進火力地堡認證的行爲當使用iOS 10模擬器測試應用程序時。
  • 解決了用戶在使用電子郵件地址和密碼登錄時提供無效電子郵件地址時的錯誤報告問題。

See newest release notes here.

+0

爲發行說明添加了更新修復+鏈接。 – Alex7

回答

0

是否有可能創建按ctrl從登錄的UIButton拖動SEGUE?如果是,那麼無論身份驗證是否成功,都將執行賽格。

你需要創建在你CTRL +拖動視圖控制器(我認爲這是在您的視圖控制器頂部的黃色按鈕)故事板的SEGUE時,以確保不是你的UIButton

0

使用.isValidated檢查登錄用戶是否驗證了他們的電子郵件地址。至於授權,請記住,這與認證不同。授權由Firebase實時數據庫規則處理。

相關問題