Once configured with a provider id, and with OAuth scope and OAuth custom parameters via an FedeartedOAuthProviderData structure, an object of this class may be used via Auth::SignInWithProvider to sign-in users, or via User::LinkWithProvider and User::ReauthenticateWithProvider for cross account linking and user reauthentication, respectively.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-01-23 UTC."],[],[],null,["# firebase::auth::FederatedOAuthProvider Class Reference\n\nfirebase::auth::FederatedOAuthProvider\n======================================\n\n\n`#include \u003cauth.h\u003e`\n\nAuthenticates with Federated OAuth Providers via the [firebase::auth::Auth](/docs/reference/cpp/class/firebase/auth/auth#classfirebase_1_1auth_1_1_auth) and [firebase::auth::User](/docs/reference/cpp/class/firebase/auth/user#classfirebase_1_1auth_1_1_user) classes.\n\nSummary\n-------\n\nOnce configured with a provider id, and with OAuth scope and OAuth custom parameters via an FedeartedOAuthProviderData structure, an object of this class may be used via [Auth::SignInWithProvider](/docs/reference/cpp/class/firebase/auth/auth#classfirebase_1_1auth_1_1_auth_1a91a15f187adad095df0eb5be3835583a) to sign-in users, or via [User::LinkWithProvider](/docs/reference/cpp/class/firebase/auth/user#classfirebase_1_1auth_1_1_user_1a21ac8cf2e5b915dfd426c4fd707707c2) and [User::ReauthenticateWithProvider](/docs/reference/cpp/class/firebase/auth/user#classfirebase_1_1auth_1_1_user_1ad7501eae0b2c22c96edabacb13176bf6) for cross account linking and user reauthentication, respectively.\n\n### Inheritance\n\nInherits from: [firebase::auth::FederatedAuthProvider](/docs/reference/cpp/class/firebase/auth/federated-auth-provider)\n\n| ### Constructors and Destructors ||\n|---|---|\n| [FederatedOAuthProvider](#classfirebase_1_1auth_1_1_federated_o_auth_provider_1ab86ce7fa28d81a8a1959c6d4740e29fc)`()` Constructs an unconfigured provider. ||\n| [FederatedOAuthProvider](#classfirebase_1_1auth_1_1_federated_o_auth_provider_1a56d5a371ef702293edcf15bb5262479a)`(const `[FederatedOAuthProviderData](/docs/reference/cpp/struct/firebase/auth/federated-o-auth-provider-data#structfirebase_1_1auth_1_1_federated_o_auth_provider_data)` & provider_data)` Constructs a [FederatedOAuthProvider](/docs/reference/cpp/class/firebase/auth/federated-o-auth-provider#classfirebase_1_1auth_1_1_federated_o_auth_provider) preconfigured with provider data. ||\n| [~FederatedOAuthProvider](#classfirebase_1_1auth_1_1_federated_o_auth_provider_1a2a7eee290e923f6e8f5684102d651298)`()` ||\n\n| ### Friend classes ||\n|-------------------------------------------------------------------------------------------------------------------|----------------|\n| [::firebase::auth::Auth](#classfirebase_1_1auth_1_1_federated_o_auth_provider_1aea624f81c47468d1d1adcec9ced75c01) | `friend class` |\n\n| ### Public functions ||\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|\n| [SetProviderData](#classfirebase_1_1auth_1_1_federated_o_auth_provider_1a3be1e3b6e46af4facfb95b0b66d16ae0)`(const `[FederatedOAuthProviderData](/docs/reference/cpp/struct/firebase/auth/federated-o-auth-provider-data#structfirebase_1_1auth_1_1_federated_o_auth_provider_data)` & provider_data)` | `void` Configures the provider with OAuth provider information. |\n\nFriend classes\n--------------\n\n### ::firebase::auth::Auth\n\n```c++\nfriend class ::firebase::auth::Auth\n``` \n\nPublic functions\n----------------\n\n### FederatedOAuthProvider\n\n```c++\n FederatedOAuthProvider()\n``` \nConstructs an unconfigured provider. \n\n### FederatedOAuthProvider\n\n```c++\n FederatedOAuthProvider(\n const FederatedOAuthProviderData & provider_data\n)\n``` \nConstructs a [FederatedOAuthProvider](/docs/reference/cpp/class/firebase/auth/federated-o-auth-provider#classfirebase_1_1auth_1_1_federated_o_auth_provider) preconfigured with provider data.\n\n\u003cbr /\u003e\n\n| Details ||\n|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Parameters | |-----------------|------------------------------------------------------------------------------------------------------------------------------------| | `provider_data` | Contains the federated provider id and OAuth scopes and OAuth custom parameters required for user authentication and user linking. | |\n\n### SetProviderData\n\n```c++\nvoid SetProviderData(\n const FederatedOAuthProviderData & provider_data\n)\n``` \nConfigures the provider with OAuth provider information.\n\n\u003cbr /\u003e\n\n| Details ||\n|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Parameters | |-----------------|------------------------------------------------------------------------------------------------------------------------------------| | `provider_data` | Contains the federated provider id and OAuth scopes and OAuth custom parameters required for user authentication and user linking. | |\n\n### \\~FederatedOAuthProvider\n\n```c++\n ~FederatedOAuthProvider() override\n```"]]