Guest User

Untitled

a guest
Feb 19th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. FireBaseHelper.fireBaseHelper.BASE_REF.authWithOAuthProvider("facebook", token: "123") { (error, data) -> Void in
  2.  
  3. APP_DELEGATE.hideActivityIndicator()
  4. if error != nil {
  5. print(error)
  6. self.loginErrorAlert("Oops!", message: "Check your username and password.")
  7. } else {
  8.  
  9. // Be sure the correct uid is stored.
  10.  
  11. NSUserDefaults.standardUserDefaults().setValue(data.uid, forKey: "uid")
  12.  
  13. // Enter the app!
  14.  
  15. self.performSegueWithIdentifier("CurrentlyLoggedIn", sender: nil)
  16. }
  17. }
  18.  
  19. let username = usernameField.text
  20. let email = emailField.text
  21. let password = passwordField.text
  22.  
  23. if username != "" && email != "" && password != "" {
  24.  
  25. APP_DELEGATE.showActivityIndicator()
  26.  
  27. FireBaseHelper.fireBaseHelper.BASE_REF.createUser(email, password: password, withValueCompletionBlock: { error, result in
  28.  
  29.  
  30.  
  31. if error != nil {
  32. APP_DELEGATE.hideActivityIndicator()
  33. // There was a problem.
  34. self.signupErrorAlert("Oops!", message: "Having some trouble creating your account. Try again.")
  35.  
  36. } else {
  37.  
  38. // Create and Login the New User with authUser
  39. FireBaseHelper.fireBaseHelper.BASE_REF.authUser(email, password: password, withCompletionBlock: {
  40. err, authData in
  41.  
  42. let user = ["provider": authData.provider!, "email": email!, "username": username!]
  43.  
  44. FireBaseHelper.fireBaseHelper.USER_REF.childByAppendingPath(authData.uid).setValue(user, withCompletionBlock: { (error, firebase) -> Void in
  45.  
  46. if error != nil {
  47. APP_DELEGATE.hideActivityIndicator()
  48. self.signupErrorAlert("Oops!", message: "Having some trouble creating your account. Try again.")
  49.  
  50. }else
  51. {
  52. APP_DELEGATE.hideActivityIndicator()
  53. // Store the uid for future access - handy!
  54. NSUserDefaults.standardUserDefaults().setValue(result ["uid"], forKey: "uid")
  55.  
  56. // Enter the app.
  57. self.performSegueWithIdentifier("NewUserLoggedIn", sender: nil)
  58.  
  59. }
  60. })
  61. })
  62. }
  63. })
  64.  
  65. }else
  66. {
  67. signupErrorAlert("Oops!", message: "Don't forget to enter your email, password, and a username.")
  68. }
  69.  
  70. class FireBaseHelper: NSObject {
  71.  
  72. static let fireBaseHelper = FireBaseHelper()
  73.  
  74. private var _BASE_REF = Firebase(url: "https://poc-demoApp.firebaseio.com")
  75. private var _USER_REF = Firebase(url: "https://poc-demoApp.firebaseio.com/users")
  76. var BASE_REF: Firebase {
  77. return _BASE_REF
  78. }
  79.  
  80. var USER_REF: Firebase {
  81. return _USER_REF
  82. }
  83.  
  84. var CURRENT_USER_REF: Firebase {
  85. let userID = NSUserDefaults.standardUserDefaults().valueForKey("uid") as! String
  86.  
  87. let currentUser = Firebase(url: "(BASE_REF)").childByAppendingPath("users").childByAppendingPath(userID)
  88.  
  89. return currentUser!
  90. }
  91. }
  92.  
  93. let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
  94.  
  95. Auth.auth().signIn(with: credential) { (user, error) in
  96. if let error = error {
  97. print("Facebook authentication with Firebase error: ", error)
  98. return
  99. }
  100. print("User signed in!") // After this line the Facebook login should appear on your Firebase console
  101. }
Add Comment
Please, Sign In to add comment