用來為 ProviderId.GOOGLE 產生 OAuthCredential 的供應商。
簽名:
export declare class GoogleAuthProvider extends BaseOAuthProvider
擴充:BaseOAuthProvider
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(建構函式)() | 建構 GoogleAuthProvider 類別的新例項 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
static |
google.com | 請一律設為 SignInMethod.GOOGLE。 | |
PROVIDER_ID | static |
google.com | 一律設為 ProviderId.GOOGLE。 |
方法
方法 | 修飾符 | 說明 |
---|---|---|
credential(idToken, accessToken) | static |
為 Google 建立憑證。必須提供至少一個 ID 權杖和存取權杖。 |
credentialFromError(錯誤) | static |
用於從登入、連結或重新驗證作業期間擲回的 AuthError 中,擷取基礎 OAuthCredential。 |
credentialFromResult(使用者憑證) | static |
用於從 UserCredential 擷取基礎 OAuthCredential。 |
GoogleAuthProvider.(建構函式)
建構 GoogleAuthProvider
類別的新例項
簽名:
constructor();
GoogleAuthProvider.GOOGLE_SIGN_IN_METHOD
請一律設為 SignInMethod.GOOGLE。
簽名:
static readonly GOOGLE_SIGN_IN_METHOD: 'google.com';
GoogleAuthProvider.PROVIDER_ID
一律設為 ProviderId.GOOGLE。
簽名:
static readonly PROVIDER_ID: 'google.com';
GoogleAuthProvider.credential()
為 Google 建立憑證。必須提供至少一個 ID 權杖和存取權杖。
簽名:
static credential(idToken?: string | null, accessToken?: string | null): OAuthCredential;
參數
參數 | 類型 | 說明 |
---|---|---|
idToken | 字串 |空值 | Google ID 權杖。 |
accessToken | 字串 |空值 | Google 存取權杖 |
傳回:
範例
// \`googleUser\` from the onsuccess Google Sign In callback.
const credential = GoogleAuthProvider.credential(googleUser.getAuthResponse().id_token);
const result = await signInWithCredential(credential);
GoogleAuthProvider.credentialFromError()
用於從登入、連結或重新驗證作業期間擲回的 AuthError 中,擷取基礎 OAuthCredential。
簽名:
static credentialFromError(error: FirebaseError): OAuthCredential | null;
參數
參數 | 類型 | 說明 |
---|---|---|
錯誤 | FirebaseError |
傳回:
OAuth 憑證 |空值
GoogleAuthProvider.credentialFromResult()
用於從 UserCredential 擷取基礎 OAuthCredential。
簽名:
static credentialFromResult(userCredential: UserCredential): OAuthCredential | null;
參數
參數 | 類型 | 說明 |
---|---|---|
使用者憑證 | 使用者憑證 | 使用者憑證。 |
傳回:
OAuth 憑證 |空值
範例 1
// Sign in using a redirect.
const provider = new GoogleAuthProvider();
// Start a sign in process for an unauthenticated user.
provider.addScope('profile');
provider.addScope('email');
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 Google Access Token.
const credential = GoogleAuthProvider.credentialFromResult(result);
const token = credential.accessToken;
}
範例 2
// Sign in using a popup.
const provider = new GoogleAuthProvider();
provider.addScope('profile');
provider.addScope('email');
const result = await signInWithPopup(auth, provider);
// The signed-in user info.
const user = result.user;
// This gives you a Google Access Token.
const credential = GoogleAuthProvider.credentialFromResult(result);
const token = credential.accessToken;