Constructor

GithubAuthProvider

new GithubAuthProvider()

Github auth provider.

GitHub requires an OAuth 2.0 redirect, so you can either handle the redirect directly, or use the signInWithPopup handler:

Implements
firebase.auth.AuthProvider
See also
firebase.auth.Auth#onAuthStateChanged to receive sign in state changes.

Examples

// Using a redirect.
firebase.auth().getRedirectResult().then(function(result) {
  if (result.credential) {
    // This gives you a GitHub Access Token.
    var token = result.credential.accessToken;
  }
  var user = result.user;
}).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // The email of the user's account used.
  var email = error.email;
  // The firebase.auth.AuthCredential type that was used.
  var credential = error.credential;
  if (errorCode === 'auth/account-exists-with-different-credential') {
    alert('You have signed up with a different provider for that email.');
    // Handle linking here if your app allows it.
  } else {
    console.error(error);
  }
});

// Start a sign in process for an unauthenticated user.
var provider = new firebase.auth.GithubAuthProvider();
provider.addScope('repo');
firebase.auth().signInWithRedirect(provider);
// With popup.
var provider = new firebase.auth.GithubAuthProvider();
 provider.addScope('repo');
 firebase.auth().signInWithPopup(provider).then(function(result) {
   // This gives you a GitHub Access Token.
   var token = result.credential.accessToken;
   // The signed-in user info.
   var user = result.user;
 }).catch(function(error) {
   // Handle Errors here.
   var errorCode = error.code;
   var errorMessage = error.message;
   // The email of the user's account used.
   var email = error.email;
   // The firebase.auth.AuthCredential type that was used.
   var credential = error.credential;
   if (errorCode === 'auth/account-exists-with-different-credential') {
     alert('You have signed up with a different provider for that email.');
     // Handle linking here if your app allows it.
   } else {
     console.error(error);
   }
 });

Properties

PROVIDER_ID

static

string

providerId

string

Implements
firebase.auth.AuthProvider#providerId

Methods

credential

static

credential(token) returns firebase.auth.AuthCredential

Parameter

token

string

Github access token.

Returns

non-null firebase.auth.AuthCredential The auth provider credential.

Example

var cred = firebase.auth.FacebookAuthProvider.credential(
    // `event` from the Facebook auth.authResponseChange callback.
    event.authResponse.accessToken
);

addScope

addScope(scope)

Parameter

scope

string

Github OAuth scope.

setCustomParameters

setCustomParameters(customOAuthParameters)

Sets the OAuth custom parameters to pass in a GitHub OAuth request for popup and redirect sign-in operations. Valid parameters include 'allow_signup'. For a detailed list, check the GitHub documentation. Reserved required OAuth 2.0 parameters such as 'client_id', 'redirect_uri', 'scope', 'response_type' and 'state' are not allowed and will be ignored.

Parameter

customOAuthParameters

Object

The custom OAuth parameters to pass in the OAuth request.

Value must not be null.