# Facebook connector The Facebook connector provides a concise way for your application to use Facebook's OAuth 2.0 authentication system. ## Register a Facebook developer account [Register as a Facebook Developer](https://developers.facebook.com/docs/development/register/) if you don't already have one ## Set up a Facebook app 1. Visit the [Apps](https://developers.facebook.com/apps) page. 2. Click your existing app or [create a new one](https://developers.facebook.com/docs/development/create-an-app) if needed. - The selected [app type](https://developers.facebook.com/docs/development/create-an-app/app-dashboard/app-types) is up to you, but it should have the product **Facebook Login**. 3. On the app dashboard page, scroll to the **Add a product** section and click the **Set up** button on the **Facebook Login** card. 4. Skip the Facebook Login Quickstart page, and click the sidebar -> **Products** -> **Facebook Login** -> **Settings**. 5. In the Facebook Login Settings page, fill `${your_logto_origin}/callback/facebook-universal` in the **Valid OAuth Redirect URIs** field. E.g.: - `https://logto.dev/callback/facebook-universal` for production - `https://localhost:3001/callback/facebook-universal` for testing in the local environment 6. Click the **Save changes** button at the bottom right corner. ## Set up the Logto connector settings 1. In the Facebook app dashboard page, click the sidebar -> **Settings** -> **Basic**. 2. You will see the **App ID** and **App secret** on the panel. 3. Click the **Show** button following the App secret input box to copy its content. 4. Fill out the Logto connector settings: - Fill out the `clientId` field with the string from **App ID**. - Fill out the `clientSecret` field with the string from **App secret**. ### Config types | Name | Type | |:------------:|:------:| | clientId | string | | clientSecret | string | ## Debug sign-in with the test users You can use the accounts of the test, developer, and admin users to test sign-in with the related app under both development and live [app modes](https://developers.facebook.com/docs/development/build-and-test/app-modes). You can also [take the app live](#take-the-facebook-app-live) directly so that any Facebook user can sign in with the app. - In the app dashboard page, click the sidebar -> **Roles** -> **Test Users**. - Click the **Create test users** button to create a testing user while testing. - Click the **Options** button of the existing test user, and you will see more operations, e.g., "Change name and password". ## Take the Facebook app live Usually, only the test, admin, and developer users can sign in with the related app under [development mode](https://developers.facebook.com/docs/development/build-and-test/app-modes#development-mode). To enable normal Facebook users sign-in with the app in the production environment, you maybe need to switch your Facebook app to **[live mode](https://developers.facebook.com/docs/development/build-and-test/app-modes#live-mode)**, depending on the app type. E.g., the pure **business type** app doesn't have the **live** switch button, but it won't block your use. 1. In the Facebook app dashboard page, click the sidebar -> **Settings** -> **Basic**. 2. Fill out the **Privacy Policy URL** and **User data deletion** fields on the panel if required. 3. Click the **Save changes** button at the bottom right corner. 4. Click the **Live** switch button on the app top bar. ## References - [Facebook Login - Documentation - Facebook for Developers](https://developers.facebook.com/docs/facebook-login/) - [Manually Build a Login Flow](https://developers.facebook.com/docs/facebook-login/guides/advanced/manual-flow/) - [Permissions Guide](https://developers.facebook.com/docs/facebook-login/guides/permissions)