2016-09-01 15 views
0

私はで構築しているアプリケーションがあります。Firebaseです。基本的に、私は、ユーザーが自分の電子メール/パスワードを使用して、サインアップしてログインするために、その同じ電子メール/パスワードを使用することを可能にする認証システムを構築しようとしている。Firebaseの電子メール認証システムにログインするアカウント:

ながら認証システムが何らかの理由や誰もができるように思わ別の私のログイン認証システムのために、指定された電子メールアドレスにパスワード再設定用のリンクを送信し、私のリセットパスワードシステムと一緒に、うまく機能しているユーザーを作成します任意の電子メールアドレス(サインアップされているかどうか)をsigにn-inであり、本質的に認証される。

要約すると:私LoginViewControllerで電子メールやパスワードを入力すると、それはすぐにかかわらず、アカウントが以前に作成されているかどうかの次のViewControllerにsegues。


これらは、私が使用しているポッドです:

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

また、私は別のアプリケーションでは、私が使用して構築した(3.5.2をFirebaseするFirebase 2.5.1から移行した構文を除いて)正確に同じコードを使用していますFirebase 2.5.1(レガシーコンソール)、それは正確に動作し、事前に作成されていないアカウント(サインアップ)にはログインしません。


更新プログラムで修正: Firebaseバージョン3.6.0発売日:9/14/16):

  • がFirebase認証の動作を改善しましたiOS 10シミュレータを使用してアプリをテストするとき
  • ユーザーが電子メールアドレスとパスワードでサインインしているときに、無効な電子メールアドレスを入力した場合のエラー報告に関する問題を修正しました。

See newest release notes here.

+0

リリースノートのupdate fix + linkが追加されました。 – Alex7

答えて

0

それはあなたのログインUIButtonからドラッグCTRLによってセグエを作成することは可能ですか? YESの場合、認証が成功したかどうかにかかわらず、セグが実行されます。あなたはストーリーボードにセグエを作成するときにチェックするためにビューコントローラ(私はそれはあなたのビューコントローラの上部にある黄色のボタンだと思う)ではない、あなたのUIButton

0

使用.isValidatedをドラッグ+ CTRLことを確認する必要があり

ログインしたユーザーが自分の電子メールアドレスを検証したかどうか。認可に関しては、認証とは異なることに注意してください。権限は、Firebaseリアルタイムデータベースルールによって処理されます。

関連する問題