See the Firebase Authentication docs for web.
firebase.auth().onAuthStateChanged(currentUser => {if (currentUser) {// User is signed in.} else {// No user is signed in.}});
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {// Handle Errors here.var errorCode = error.code;var errorMessage = error.message;// ...});
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {// Handle Errors here.var errorCode = error.code;var errorMessage = error.message;// ...});
var provider = new firebase.auth.GoogleAuthProvider();
var provider = new firebase.auth.FacebookAuthProvider();
var provider = new firebase.auth.TwitterAuthProvider();
GitHub
var provider = new firebase.auth.GithubAuthProvider();
Popup
firebase.auth().signInWithPopup(provider);
Redirect
firebase.auth().signInWithRedirect(provider);
First attach a recaptcha using an element ID...
window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('sign-in-button', {'size': 'invisible','callback': function(response) {// reCAPTCHA solved, allow signInWithPhoneNumber.onSignInSubmit();}});
... then capture a phone number from user input and send the sms...
var phoneNumber = getPhoneNumberFromUserInput();var appVerifier = window.recaptchaVerifier;firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier).then(function (confirmationResult) {// SMS sent. Prompt user to type the code from the message, then sign the// user in with confirmationResult.confirm(code).window.confirmationResult = confirmationResult;}).catch(function (error) {// Error; SMS not sent// ...});
...and finally authenticate with the code from user input.
var code = getCodeFromUserInput();confirmationResult.confirm(code).then(function (result) {// User signed in successfully.var user = result.user;// ...}).catch(function (error) {// User couldn't sign in (bad verification code?)// ...});