Facebook登录用户数据不显示在firebase控制台中 [英] Facebook login user data not displaying in firebase console
问题描述
我已经使用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屋!