1

firebaseで動作するfacebookのログインシステムがありますが、私がfirebaseに存在するかどうかを確認したいのですが、追加したくないです。私はあなたのプロフィールを完成させるために別のページにリダイレクトしたい、それが完了したらfirebaseに送る)。Firebase Facebookのログイン時にユーザが存在するか確認する

ユーザーがデータベースに存在するかどうかを確認するだけです。私が試したコードはここにありますが、それはnilエラーを返し、自動的にユーザーをfirebaseに追加します。

let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString) 


FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in 
     // ... 

} 
+0

チェック... –

+0

はあなたが与えることができる場合私はその方法についてのリンクかsthですか?私はfirebaseのウェブサイトでそれを見つけることができなかったので。 –

+0

確かに... [このリンク](https://firebase.google.com/docs/auth/ios/manage-users)をチェックしてください。このページの最後にreAuthenticateメソッドがあります –

答えて

2

reauthenticateWithCredentialメソッドを使用して、ユーザーが存在するかどうかを確認できます。

チェックthis Doc.、セクション - > [ユーザーを再認証

let user = FIRAuth.auth()?.currentUser 
var credential: FIRAuthCredential 

// Prompt the user to re-provide their sign-in credentials 

user?.reauthenticateWithCredential(credential) { error in 
    if let error = error { 
    // An error happened. 
    } else { 
    // User re-authenticated. 
    } 
} 

再認証されたことは、ユーザが存在していることを意味成功したユーザ...再認証方法と

+1

主な問題は、ユーザーがアカウントを持っていても、アプリケーションを削除してから再インストールする場合です。このコードは機能しません。 currentUserはnilです。より良い方法は、オブジェクトが存在する場合、.reference()。child( "users/currentUserId")(またはログインしたユーザのデータを格納する場所)をチェックすることです –

関連する問題