Facebook登录用户数据不显示在firebase控制台中 [英] Facebook login user data not displaying in firebase console

查看:124
本文介绍了Facebook登录用户数据不显示在firebase控制台中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用firebase在我的应用程序中实现了电子邮件和Facebook登录。我的代码如下:

I have implemented email and Facebook login in my app using firebase. My code is as below:

对于fb登录:

FireBaseHelper.fireBaseHelper.BASE_REF.authWithOAuthProvider("facebook", token: "123") { (error, data) -> Void in

        APP_DELEGATE.hideActivityIndicator()
        if error != nil {
            print(error)
            self.loginErrorAlert("Oops!", message: "Check your username and password.")
        } else {

            // Be sure the correct uid is stored.

            NSUserDefaults.standardUserDefaults().setValue(data.uid, forKey: "uid")

            // Enter the app!

            self.performSegueWithIdentifier("CurrentlyLoggedIn", sender: nil)
        }
    }

对于电子邮件注册:

     let username = usernameField.text
    let email = emailField.text
    let password = passwordField.text

    if username != "" && email != "" && password != "" {

        APP_DELEGATE.showActivityIndicator()

        FireBaseHelper.fireBaseHelper.BASE_REF.createUser(email, password: password, withValueCompletionBlock: { error, result in



            if error != nil {
                 APP_DELEGATE.hideActivityIndicator()
                // There was a problem.
                self.signupErrorAlert("Oops!", message: "Having some trouble creating your account. Try again.")

            } else {

                // Create and Login the New User with authUser
                FireBaseHelper.fireBaseHelper.BASE_REF.authUser(email, password: password, withCompletionBlock: {
                    err, authData in

                    let user = ["provider": authData.provider!, "email": email!, "username": username!]

                      FireBaseHelper.fireBaseHelper.USER_REF.childByAppendingPath(authData.uid).setValue(user, withCompletionBlock: { (error, firebase) -> Void in

                        if error != nil {
                             APP_DELEGATE.hideActivityIndicator()
                            self.signupErrorAlert("Oops!", message: "Having some trouble creating your account. Try again.")

                        }else
                        {
                             APP_DELEGATE.hideActivityIndicator()
                            // Store the uid for future access - handy!
                            NSUserDefaults.standardUserDefaults().setValue(result ["uid"], forKey: "uid")

                            // Enter the app.
                            self.performSegueWithIdentifier("NewUserLoggedIn", sender: nil)

                        }
                      })
                })
           }
        })

    }else
    {
        signupErrorAlert("Oops!", message: "Don't forget to enter your email, password, and a username.")
    }

和助手类代码:

class FireBaseHelper: NSObject {

    static let fireBaseHelper = FireBaseHelper()

    private var _BASE_REF = Firebase(url: "https://poc-demoApp.firebaseio.com")
    private var _USER_REF = Firebase(url: "https://poc-demoApp.firebaseio.com/users")
 var BASE_REF: Firebase {
        return _BASE_REF
    }

    var USER_REF: Firebase {
        return _USER_REF
    }

 var CURRENT_USER_REF: Firebase {
        let userID = NSUserDefaults.standardUserDefaults().valueForKey("uid") as! String

        let currentUser = Firebase(url: "\(BASE_REF)").childByAppendingPath("users").childByAppendingPath(userID)

        return currentUser!
    }
}

问题是当我注册电子邮件用户我可以看到firebase仪表板上的用户数据,当我使用fb注册时,该用户的数据没有显示在仪表板上,请告诉我有什么问题。我想念什么?它成功显示fb注册

Problem is when i sign up with email user I can see that user data on dashboard of firebase and when i am sign up with fb , that user's data are not displaying on dashboard, let me know what is issue. Anything i miss? Its showing fb signup successfully

推荐答案

Firebase仅存储一封电子邮件+密码用户列表。它不存储与社交提供商(如Facebook)签名的应用程序的用户的任何数据。所以在这些用户的Firebase仪表板上没有任何东西可以显示。

Firebase only stores a list of email+password users. It doesn't store any data for users of your app that are signed with social providers (such as Facebook). So there is nothing to show on the Firebase dashboard for those users.

如果要在数据库中存储有关Facebook用户的信息,请参阅存储用户数据

If you want to store information about Facebook users in your database, see the section on storing user data.

这篇关于Facebook登录用户数据不显示在firebase控制台中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆