Skip to content

Instantly share code, notes, and snippets.

@mbao01
Forked from zenorocha/basic.md
Created June 1, 2017 19:49
Show Gist options
  • Save mbao01/6162287bc9baea0848d9996077751c08 to your computer and use it in GitHub Desktop.
Save mbao01/6162287bc9baea0848d9996077751c08 to your computer and use it in GitHub Desktop.
New Firebase Auth vs Old Firebase Auth

Basic Auth

Create account

New API

firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
	console.log(error);
});

Old API

firebase.createUser({
  email    : "[email protected]",
  password : "correcthorsebatterystaple"
}, function(error, userData) {
  if (error) {
    console.log("Error creating user:", error);
  } else {
    console.log("Successfully created user account with uid:", userData.uid);
  }
});

Sign in

New API

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
	console.log(error);
});

Old API

firebase.authWithPassword({
  email    : "[email protected]",
  password : "correcthorsebatterystaple"
}, function(error, authData) {
  if (error) {
    console.log("Login Failed!", error);
  } else {
    console.log("Authenticated successfully with payload:", authData);
  }
});

Sign out

New API

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}, function(error) {
	console.log(error);
});

Old API

firebase.unauth();

Delete user

New API

?

Old API

firebase.removeUser({
  email    : "[email protected]",
  password : "correcthorsebatterystaple"
}, function(error) {
  if (error === null) {
    console.log("User removed successfully");
  } else {
    console.log("Error removing user:", error);
  }
});

Facebook OAuth

Sign In with Popup

New API

var provider = new firebase.auth.FacebookAuthProvider();

provider.addScope('user_birthday');

firebase.auth().signInWithPopup(provider).then(function(authData) {
	console.log(authData);
}).catch(function(error) {
	console.log(error);
});

Old API

firebase.authWithOAuthPopup("facebook", function(error, authData) {
  if (error) {
    console.log(error);
  } else {
    console.log(authData);
  }
}, {
  scope: 'user_birthday'
});

Sign In with Redirect

New API

var provider = new firebase.auth.FacebookAuthProvider();

provider.addScope('user_birthday');

firebase.auth().signInWithRedirect(provider);

firebase.auth().getRedirectResult().then(function(authData) {
	console.log(authData);
}).catch(function(error) {
	console.log(error);
});

Old API

firebase.authWithOAuthRedirect("facebook", function(error) {
  if (error) {
    console.log(error);
  } else {
    // We'll never get here, as the page will redirect on success.
  }
}, {
  scope: 'user_birthday'
});

Sign Out

New API

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}, function(error) {
  console.log(error);
});

Github OAuth

Sign In with Popup

New API

var provider = new firebase.auth.GithubAuthProvider();

provider.addScope('repo');

firebase.auth().signInWithPopup(provider).then(function(result) {
	console.log(result);
}).catch(function(error) {
	console.log(error);
});

Sign In with Redirect

New API

var provider = new firebase.auth.GithubAuthProvider();

provider.addScope('repo');

firebase.auth().signInWithRedirect(provider);

firebase.auth().getRedirectResult().then(function(authData) {
	console.log(authData);
}).catch(function(error) {
	console.log(error);
});

Sign Out

New API

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}, function(error) {
  console.log(error);
});

Google OAuth

Sign In with Popup

New API

var provider = new firebase.auth.GoogleAuthProvider();

provider.addScope('https://www.googleapis.com/auth/plus.login');

firebase.auth().signInWithPopup(provider).then(function(authData) {
	console.log(authData);
}).catch(function(error) {
	console.log(error);
});

Sign In with Redirect

New API

var provider = new firebase.auth.GoogleAuthProvider();

provider.addScope('https://www.googleapis.com/auth/plus.login');

firebase.auth().signInWithRedirect(provider);

firebase.auth().getRedirectResult().then(function(authData) {
	console.log(authData);
}).catch(function(error) {
	console.log(error);
});

Sign Out

New API

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}, function(error) {
  console.log(error);
});

Twitter OAuth

Sign In with Popup

New API

var provider = new firebase.auth.TwitterAuthProvider();

firebase.auth().signInWithPopup(provider).then(function(authData) {
	console.log(authData);
}).catch(function(error) {
	console.log(error);
});

Sign In with Redirect

New API

var provider = new firebase.auth.TwitterAuthProvider();

firebase.auth().signInWithRedirect(provider);

firebase.auth().getRedirectResult().then(function(authData) {
	console.log(authData);
}).catch(function(error) {
	console.log(error);
});

Sign Out

New API

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}, function(error) {
  console.log(error);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment