Skip to content

Instantly share code, notes, and snippets.

@nara-l
Forked from zenorocha/basic.md
Created March 31, 2019 02:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nara-l/63e8486a8bed6b501b4eaad1f0560b90 to your computer and use it in GitHub Desktop.
Save nara-l/63e8486a8bed6b501b4eaad1f0560b90 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    : "bobtony@firebase.com",
  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    : "bobtony@firebase.com",
  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    : "bobtony@firebase.com",
  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