可產生一般 OAuth 憑證的供應商。
簽名:
export declare class OAuthProvider extends BaseOAuthProvider
擴充:BaseOAuthProvider
方法
方法 | 修飾符 | 說明 |
---|---|---|
credential(參數) | 透過一般 OAuth 供應商的存取權杖或 ID 權杖建立 OAuthCredential。 | |
credentialFromError(錯誤) | static |
用於從登入、連結或重新驗證作業期間擲回的 AuthError 中,擷取基礎 OAuthCredential。 |
credentialFromJSON(json) | static |
透過 JSON 字串或純物件建立 OAuthCredential。 |
credentialFromResult(使用者憑證) | static |
用於從 UserCredential 擷取基礎 OAuthCredential。 |
OAuthProvider.credential()
透過一般 OAuth 供應商的存取權杖或 ID 權杖建立 OAuthCredential。
如果提供的 ID 權杖包含 Nonce 欄位,則必須提供原始 Nonce。原始 Nonce 的 SHA-256 雜湊必須與 ID 權杖中的 Nonce 欄位相符。
簽名:
credential(params: OAuthCredentialOptions): OAuthCredential;
參數
參數 | 類型 | 說明 |
---|---|---|
參數 | OAuthCredentialOptions | 包含 ID 權杖、存取權杖和原始 Nonce 或 ID 權杖字串的選項物件。 |
傳回:
範例
// `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;
參數
參數 | 類型 | 說明 |
---|---|---|
錯誤 | FirebaseError |
傳回:
OAuth 憑證 |空值
OAuthProvider.credentialFromJSON()
透過 JSON 字串或純物件建立 OAuthCredential。
簽名:
static credentialFromJSON(json: object | string): OAuthCredential;
參數
參數 | 類型 | 說明 |
---|---|---|
json | 物件 |字串 | 純物件或 JSON 字串 |
傳回:
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;