GithubAuthProvider class  |  Firebase JavaScript API reference (original) (raw)

Provider for generating an OAuthCredential for ProviderId.GITHUB.

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

Signature:

export declare class GithubAuthProvider extends BaseOAuthProvider 

Extends: BaseOAuthProvider

Constructors

Constructor Modifiers Description
(constructor)() Constructs a new instance of the GithubAuthProvider class

Properties

Property Modifiers Type Description
GITHUB_SIGN_IN_METHOD static 'github.com' Always set to SignInMethod.GITHUB.
PROVIDER_ID static 'github.com' Always set to ProviderId.GITHUB.

Methods

Method Modifiers Description
credential(accessToken) static Creates a credential for GitHub.
credentialFromError(error) static Used to extract the underlying OAuthCredential from a AuthError which was thrown during a sign-in, link, or reauthenticate operation.
credentialFromResult(userCredential) static Used to extract the underlying OAuthCredential from a UserCredential.

GithubAuthProvider.(constructor)

Constructs a new instance of the GithubAuthProvider class

Signature:

constructor();

GithubAuthProvider.GITHUB_SIGN_IN_METHOD

Always set to SignInMethod.GITHUB.

Signature:

static readonly GITHUB_SIGN_IN_METHOD: 'github.com';

GithubAuthProvider.PROVIDER_ID

Always set to ProviderId.GITHUB.

Signature:

static readonly PROVIDER_ID: 'github.com';

GithubAuthProvider.credential()

Creates a credential for GitHub.

Signature:

static credential(accessToken: string): OAuthCredential;

Parameters

Parameter Type Description
accessToken string GitHub access token.

Returns:

OAuthCredential

GithubAuthProvider.credentialFromError()

Used to extract the underlying OAuthCredential from a AuthError which was thrown during a sign-in, link, or reauthenticate operation.

Signature:

static credentialFromError(error: FirebaseError): OAuthCredential | null;

Parameters

Parameter Type Description
error FirebaseError

Returns:

OAuthCredential | null

GithubAuthProvider.credentialFromResult()

Used to extract the underlying OAuthCredential from a UserCredential.

Signature:

static credentialFromResult(userCredential: UserCredential): OAuthCredential | null;

Parameters

Parameter Type Description
userCredential UserCredential The user credential.

Returns:

OAuthCredential | null

Example 1

// Sign in using a redirect.
const provider = new GithubAuthProvider();
// Start a sign in process for an unauthenticated user.
provider.addScope('repo');
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
  // This is the signed-in user
  const user = result.user;
  // This gives you a GitHub Access Token.
  const credential = GithubAuthProvider.credentialFromResult(result);
  const token = credential.accessToken;
}

Example 2

// Sign in using a popup.
const provider = new GithubAuthProvider();
provider.addScope('repo');
const result = await signInWithPopup(auth, provider);

// The signed-in user info.
const user = result.user;
// This gives you a GitHub Access Token.
const credential = GithubAuthProvider.credentialFromResult(result);
const token = credential.accessToken;