用來為 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
簽名:
static readonly PROVIDER_ID: 'github.com';
GithubAuthProvider.credential()
建立 GitHub 的憑證。
簽名:
static credential(accessToken: string): OAuthCredential;
參數
參數 | 類型 | 說明 |
---|---|---|
accessToken | 字串 | GitHub 存取權杖。 |
傳回:
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;