OAuthProvider class

汎用の OAuthCredential を生成するためのプロバイダ。

署名:

export declare class OAuthProvider extends BaseOAuthProvider 

拡張: BaseOAuthProvider

メソッド

メソッド 修飾キー 説明
credential(params) 汎用 OAuth プロバイダのアクセス トークンまたは ID トークンから OAuthCredential を作成します。
credentialFromError(error) static ログイン、リンク、または再認証の操作中にスローされた AuthError から、基になる OAuthCredential を抽出するために使用されます。
credentialFromJSON(json) static JSON 文字列またはプレーン オブジェクトから OAuthCredential を作成します。
credentialFromResult(userCredential) static UserCredential から基になる OAuthCredential を抽出するために使用されます

OAuthProvider.credential()

汎用 OAuth プロバイダのアクセス トークンまたは ID トークンから OAuthCredential を作成します。

ノンス フィールドを含む ID トークンを指定する場合は、未加工のノンスが必要です。未加工のノンスの SHA-256 ハッシュは、ID トークンのノンス フィールドと一致する必要があります。

署名:

credential(params: OAuthCredentialOptions): OAuthCredential;

パラメータ

パラメータ 説明
params OAuthCredentialOptions ID トークン、アクセス トークン、未加工のノンスを含むオプション オブジェクト、または ID トークン文字列。

戻り値:

OAuthCredential

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

ログイン、リンク、または再認証の操作中にスローされた AuthError から、基になる OAuthCredential を抽出するために使用されます。

署名:

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

パラメータ

パラメータ 説明
エラー FirebaseError

戻り値:

OAuthCredential |null

OAuthProvider.credentialFromJSON()

JSON 文字列またはプレーン オブジェクトから OAuthCredential を作成します。

署名:

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

パラメータ

パラメータ 説明
json オブジェクト |文字列 プレーン オブジェクトまたは JSON 文字列

戻り値:

OAuthCredential

OAuthProvider.credentialFromResult()

UserCredential から基になる OAuthCredential を抽出するために使用されます

署名:

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

パラメータ

パラメータ 説明
userCredential UserCredential(ユーザーの認証情報) ユーザー認証情報。

戻り値:

OAuthCredential |null

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

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