OAuthProvider class

用於產生通用OAuthCredential的提供程序

簽名:

export declare class OAuthProvider extends BaseOAuthProvider 

擴充: BaseOAuthProvider

方法

方法修飾符描述
憑證(參數)從通用 OAuth 提供者的存取權杖或 ID 令牌建立OAuthCredential
憑證來自錯誤(錯誤) static用於從登入、連結或重新驗證作業期間引發的AuthError中提取基礎OAuthCredential
憑證來自JSON(json) static從 JSON 字串或普通物件建立OAuthCredential
憑證來自結果(使用者憑證) static用於從UserCredential中提取底層OAuthCredential

OAuthProvider.credential()

從通用 OAuth 提供者的存取權杖或 ID 令牌建立OAuthCredential

當提供帶有隨機數字段的 ID 令牌時,需要原始隨機數。原始隨機數的 SHA-256 雜湊必須與 ID 令牌中的隨機數字段相符。

簽名:

credential(params: OAuthCredentialOptions): OAuthCredential;

參數

範圍類型描述
參數OAuth憑證選項包含 ID 令牌、存取令牌和原始隨機數的選項物件或 ID 令牌字串。

返回:

OAuth憑證

例子

// `googleUser` from the onsuccess Google Sign In callback.
// Initialize a generate OAuth provider with a `google.com` providerId.
const provider = new OAuthProvider('google.com');
const credential = provider.credential({
  idToken: googleUser.getAuthResponse().id_token,
});
const result = await signInWithCredential(credential);

OAuthProvider.credentialFromError()

用於從登入、連結或重新驗證作業期間引發的AuthError中提取基礎OAuthCredential

簽名:

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

參數

範圍類型描述
錯誤Firebase錯誤

返回:

OAuth 憑證|無效的

OAuthProvider.credentialFromJSON()

從 JSON 字串或普通物件建立OAuthCredential

簽名:

static credentialFromJSON(json: object | string): OAuthCredential;

參數

範圍類型描述
json對象|細繩普通物件或 JSON 字串

返回:

OAuth憑證

OAuthProvider.credentialFromResult()

用於從UserCredential中提取底層OAuthCredential

簽名:

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

參數

範圍類型描述
使用者憑證使用者憑證用戶憑證。

返回:

OAuth 憑證|無效的

實施例1

// Sign in using a redirect.
const provider = new OAuthProvider('google.com');
// 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 OAuth Access Token for the provider.
  const credential = provider.credentialFromResult(auth, result);
  const token = credential.accessToken;
}

實施例2

// Sign in using a popup.
const provider = new OAuthProvider('google.com');
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 OAuth Access Token for the provider.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;