GithubAuthProvider class

用于为 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(error) static 用于从登录、关联或重新进行身份验证操作期间抛出的 AuthError 中提取底层 OAuthCredential
credentialFromResult(userCredential) static 用于从 UserCredential 提取底层 OAuthCredential

GitHubAuthProvider.(构造函数)

构造 GithubAuthProvider 类的新实例

签名

constructor();

GitHubAuthProvider.GITHUB_SIGN_IN_METHOD

始终设置为 SignInMethod.GITHUB。

签名

static readonly GITHUB_SIGN_IN_METHOD: 'github.com';

GitHubAuthProvider.PROVIDER_ID

始终设置为 ProviderId.GITHUB。

签名

static readonly PROVIDER_ID: 'github.com';

GitHubAuthProvider.credential()

为 GitHub 创建凭据。

签名

static credential(accessToken: string): OAuthCredential;

参数

参数 类型 说明
accessToken 字符串 GitHub 访问令牌。

返回

OAuthCredential

GitHubAuthProvider.credentialFromError()

用于从登录、关联或重新进行身份验证操作期间抛出的 AuthError 中提取底层 OAuthCredential

签名

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

参数

参数 类型 说明
error FirebaseError

返回

OAuthCredential |null

GitHubAuthProvider.credentialFromResult()

用于从 UserCredential 提取底层 OAuthCredential

签名

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

参数

参数 类型 说明
userCredential UserCredential 用户凭据。

返回

OAuthCredential |null

示例 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;