GithubAuthProvider class

用來為 ProviderId.GITHUB 產生 OAuthCredential 的提供者。

GitHub 需要 OAuth 2.0 重新導向,因此您可以直接處理重新導向,或使用 signInWithPopup() 處理常式:

簽名:

export declare class GithubAuthProvider extends BaseOAuthProvider 

擴充:BaseOAuthProvider

建構函式

建構函式 修飾符 說明
(建構函式)() 建構 GithubAuthProvider 類別的新例項

屬性

屬性 修飾符 類型 說明
GITHUB_SIGN_IN_METHOD static github.com 請一律設為 SignInMethod.GITHUB。
PROVIDER_ID static github.com 請一律設為「ProviderId」.GITHUB。

方法

方法 修飾符 說明
credential(accessToken) static 建立 GitHub 的憑證。
credentialFromError(錯誤) static 用於從登入、連結或重新驗證作業期間擲回的 AuthError 中,擷取基礎 OAuthCredential
credentialFromResult(使用者憑證) static 用於從 UserCredential 擷取基礎 OAuthCredential

GithubAuthProvider.(建構函式)

建構 GithubAuthProvider 類別的新例項

簽名:

constructor();

GithubAuthProvider.GITHUB_SIGN_IN_METHOD

請一律設為 SignInMethod.GITHUB。

簽名:

static readonly GITHUB_SIGN_IN_METHOD: 'github.com';

GitHub 驗證提供者.PROVIDER_ID

請一律設為「ProviderId」.GITHUB。

簽名:

static readonly PROVIDER_ID: 'github.com';

GithubAuthProvider.credential()

建立 GitHub 的憑證。

簽名:

static credential(accessToken: string): OAuthCredential;

參數

參數 類型 說明
accessToken 字串 GitHub 存取權杖。

傳回:

OAuth 憑證

GithubAuthProvider.credentialFromError()

用於從登入、連結或重新驗證作業期間擲回的 AuthError 中,擷取基礎 OAuthCredential

簽名:

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

參數

參數 類型 說明
錯誤 FirebaseError

傳回:

OAuth 憑證 |空值

GithubAuthProvider.credentialFromResult()

用於從 UserCredential 擷取基礎 OAuthCredential

簽名:

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

參數

參數 類型 說明
使用者憑證 使用者憑證 使用者憑證。

傳回:

OAuth 憑證 |空值

範例 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;
}

範例 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;