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:
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;