OAuthProvider class

Nhà cung cấp để tạo OAuthCredential chung .

Chữ ký:

export declare class OAuthProvider extends BaseOAuthProvider 

Mở rộng: BaseOAuthProvider

phương pháp

Phương pháp sửa đổi Sự miêu tả
thông tin xác thực (thông số) Tạo OAuthCredential từ mã thông báo truy cập hoặc mã thông báo ID chung của nhà cung cấp OAuth.
thông tin xác thựcFromError(lỗi) static Được sử dụng để trích xuất OAuthCredential cơ bản từ AuthError được đưa ra trong quá trình đăng nhập, liên kết hoặc xác thực lại.
thông tin xác thựcFromJSON(json) static Tạo OAuthCredential từ chuỗi JSON hoặc một đối tượng đơn giản.
thông tin xác thựcFromResult(userCredential) static Được sử dụng để trích xuất OAuthCredential cơ bản từ UserCredential .

OAuthProvider.credential()

Tạo OAuthCredential từ mã thông báo truy cập hoặc mã thông báo ID chung của nhà cung cấp OAuth.

Số nonce thô là bắt buộc khi mã thông báo ID có trường nonce được cung cấp. Hàm băm SHA-256 của số nonce thô phải khớp với trường nonce trong mã thông báo ID.

Chữ ký:

credential(params: OAuthCredentialOptions): OAuthCredential;

Thông số

Tham số Kiểu Sự miêu tả
thông số Tùy chọn thông tin xác thực OAuth Đối tượng tùy chọn chứa mã thông báo ID, mã thông báo truy cập và nonce thô hoặc chuỗi mã thông báo ID.

Trả về:

Thông tin xác thực OAuth

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()

Được sử dụng để trích xuất OAuthCredential cơ bản từ AuthError được đưa ra trong quá trình đă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ố

Tham số Kiểu Sự miêu tả
lỗi FirebaseLỗi

Trả về:

Thông tin xác thực OAuth | vô giá trị

OAuthProvider.credentialFromJSON()

Tạo OAuthCredential từ chuỗi JSON hoặc một đối tượng đơn giản.

Chữ ký:

static credentialFromJSON(json: object | string): OAuthCredential;

Thông số

Tham số Kiểu Sự miêu tả
json đối tượng | sợi dây Một đối tượng đơn giản hoặc một chuỗi JSON

Trả về:

Thông tin xác thực OAuth

OAuthProvider.credentialFromResult()

Được sử dụng để trích xuất OAuthCredential cơ bản từ UserCredential .

Chữ ký:

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

Thông số

Tham số Kiểu Sự miêu tả
thông tin người dùng Thông tin người dùng Thông tin xác thực của người dùng.

Trả về:

Thông tin xác thực OAuth | vô giá trị

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;