用于为 ProviderId.GOOGLE 生成 OAuthCredential 的提供程序。
签名:
export declare class GoogleAuthProvider extends BaseOAuthProvider
扩展:BaseOAuthProvider
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(构造函数)() | 构造 GoogleAuthProvider 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
GOOGLE_SIGN_IN_METHOD | static |
“google.com” | 始终设置为 SignInMethod.GOOGLE。 |
PROVIDER_ID | static |
“google.com” | 始终设置为 ProviderId.GOOGLE。 |
方法
方法 | 修饰符 | 说明 |
---|---|---|
credential(idToken, accessToken) | static |
为 Google 创建凭据。至少需要 ID 令牌和访问令牌中的一个。 |
credentialFromError(error) | static |
用于从登录、关联或重新进行身份验证操作期间抛出的 AuthError 中提取底层 OAuthCredential。 |
credentialFromResult(userCredential) | 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 | 字符串 |null | Google ID 令牌。 |
accessToken | 字符串 |null | 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;
参数
参数 | 类型 | 说明 |
---|---|---|
error | FirebaseError |
返回:
OAuthCredential |null
GoogleAuthProvider.credentialFromResult()
用于从 UserCredential 提取底层 OAuthCredential。
签名:
static credentialFromResult(userCredential: UserCredential): OAuthCredential | null;
参数
参数 | 类型 | 说明 |
---|---|---|
userCredential | UserCredential | 用户凭据。 |
返回:
OAuthCredential |null
示例 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;