用于为ProviderId生成OAuthCredential 的提供程序.GITHUB。
GitHub 需要 OAuth 2.0 重定向,因此您可以直接处理重定向,或使用signInWithPopup()处理程序:
签名:
export declare class GithubAuthProvider extends BaseOAuthProvider
扩展: BaseOAuthProvider
构造函数
构造函数 | 修饰符 | 描述 |
---|---|---|
(构造函数)() | 构造GithubAuthProvider 类的新实例 |
特性
财产 | 修饰符 | 类型 | 描述 |
---|---|---|---|
GITHUB_SIGN_IN_METHOD | static | 'github.com' | 始终设置为SignInMethod .GITHUB。 |
提供商_ID | static | 'github.com' | 始终设置为ProviderId .GITHUB。 |
方法
方法 | 修饰符 | 描述 |
---|---|---|
凭证(accessToken) | static | 为 Github 创建凭证。 |
凭证来自错误(错误) | static | 用于从登录、链接或重新身份验证操作期间引发的AuthError中提取基础OAuthCredential 。 |
凭证来自结果(用户凭证) | 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;
参数
范围 | 类型 | 描述 |
---|---|---|
访问令牌 | 细绳 | Github 访问令牌。 |
返回:
GithubAuthProvider.credentialFromError()
用于从登录、链接或重新身份验证操作期间引发的AuthError中提取基础OAuthCredential 。
签名:
static credentialFromError(error: FirebaseError): OAuthCredential | null;
参数
范围 | 类型 | 描述 |
---|---|---|
错误 | Firebase错误 |
返回:
OAuth 凭证|无效的
GithubAuthProvider.credentialFromResult()
用于从UserCredential中提取底层OAuthCredential 。
签名:
static credentialFromResult(userCredential: UserCredential): OAuthCredential | null;
参数
范围 | 类型 | 描述 |
---|---|---|
用户凭证 | 用户凭证 | 用户凭证。 |
返回:
OAuth 凭证|无效的
实施例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;