Nhà cung cấp để tạo OAuthCredential chung.
Chữ ký:
export declare class OAuthProvider extends BaseOAuthProvider
Mở rộng: BaseOAuthProvider
Phương thức
Phương thức | Công cụ sửa đổi | Mô tả |
---|---|---|
thông tin xác thực(tham số) | Tạo OAuthCredential từ mã truy cập hoặc mã thông báo nhận dạng của nhà cung cấp OAuth chung. | |
credentialFromError(lỗi) | static |
Dùng để trích xuất OAuthCredential cơ bản từ AuthError được gửi trong thao tác đăng nhập, liên kết hoặc xác thực lại. |
xác thựcFromJSON(json) | static |
Tạo OAuthCredential từ chuỗi JSON hoặc đối tượng thuần tuý. |
credentialFromResult(userCredential) | static |
Dùng để trích xuất OAuthCredential cơ bản từ UserCredential. |
OAuthProvider.credential()
Tạo OAuthCredential từ mã truy cập hoặc mã thông báo nhận dạng của nhà cung cấp OAuth chung.
Bạn phải cung cấp số chỉ dùng một lần thô khi cung cấp mã thông báo mã nhận dạng có trường số chỉ dùng một lần. Hàm băm SHA-256 của số chỉ dùng một lần thô phải khớp với trường số chỉ dùng một lần trong mã thông báo mã nhận dạng.
Chữ ký:
credential(params: OAuthCredentialOptions): OAuthCredential;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
tham số | OAuthCredentialOptions | Đối tượng tuỳ chọn chứa mã thông báo mã nhận dạng, mã truy cập và số chỉ dùng một lần thô hoặc chuỗi mã thông báo mã nhận dạng. |
Trường hợp trả lại hàng:
Ví dụ
// `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()
Dùng để trích xuất OAuthCredential cơ bản từ AuthError được gửi trong thao tác đăng nhập, liên kết hoặc xác thực lại.
Chữ ký:
static credentialFromError(error: FirebaseError): OAuthCredential | null;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
error | Lỗi Firebase |
Trường hợp trả lại hàng:
Thông tin đăng nhập OAuth | rỗng
OAuthProvider.credentialFromJSON()
Tạo OAuthCredential từ chuỗi JSON hoặc đối tượng thuần tuý.
Chữ ký:
static credentialFromJSON(json: object | string): OAuthCredential;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
JSON | đối tượng | chuỗi | Đối tượng thuần tuý hoặc chuỗi JSON |
Trường hợp trả lại hàng:
OAuthProvider.credentialFromResult()
Dùng để trích xuất OAuthCredential cơ bản từ UserCredential.
Chữ ký:
static credentialFromResult(userCredential: UserCredential): OAuthCredential | null;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
thông tin xác thực người dùng | Thông tin đăng nhập của người dùng | Thông tin đăng nhập của người dùng. |
Trường hợp trả lại hàng:
Thông tin đăng nhập OAuth | rỗng
Ví dụ 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;
}
Ví dụ 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;