Set up "Sign in with Facebook"

This is the full version of the wizard in the dashboard. It takes about fifteen minutes, and costs nothing. You'll copy an app ID and an app secret into JSONPad, and one URL from JSONPad into Facebook.

If you haven't read it yet, signing in with Google, GitHub and others explains how the whole flow works.

1. Create an app

  1. Open Meta for Developers and click Create app.
  2. Choose the Authenticate and request data from users with Facebook Login use case, and give the app a name and contact email.
  3. Add the Facebook Login product when the app is created.

2. Add the redirect URI

Open Facebook Login → Settings and add your return pages under Valid OAuth Redirect URIs. Facebook only accepts https URLs.

For through JSONPad mode, add this one instead, and keep your own pages (including localhost ones) as the identity group's redirect URLs:

https://api.jsonpad.io/identities/oauth/callback

Because Facebook won't take an http URL, "through JSONPad" mode is usually easier for local development: JSONPad forwards the sign-in to your localhost page.

3. Copy the credentials

  1. Go to App settings → Basic and copy the App ID and App secret (click Show, and enter your password).
  2. Paste them into the JSONPad wizard and click Save and check.
  3. Run a test sign-in, then turn Facebook on with Enable.

4. Email addresses

JSONPad never trusts a Facebook email address, because Facebook doesn't say whether it has confirmed it. Identities created this way have no email address until they add one; the address Facebook gave is kept with the linked account so you can see it.

People can also decline to share their email address at all, so your app shouldn't depend on having one.

5. Going live

A new app is in Development mode, where only people with a role on the app (administrators, developers, testers) can sign in. To switch it to Live, Facebook needs:

  • a Privacy Policy URL, under App settings → Basic
  • a Data Deletion callback or instructions URL, on the same page: a way for people to ask you to delete their data
  • the public_profile and email permissions, which are granted without review

Then flip the toggle at the top of the dashboard from Development to Live.

Troubleshooting

  • URL Blocked: This redirect failed…The URL isn't in Valid OAuth Redirect URIs, or it isn't https.
  • Error validating client secretThe app secret is wrong. Copy it again from App settings → Basic.
  • Error validating applicationThe app ID is wrong, or the app has been deleted.
  • App not active / in development modeThe app is still in Development mode, and the person signing in has no role on it. Switch it to Live, or add them as a tester.
  • No email addressThey declined to share it, or their account has none. Ask for one in your app.
2026-09-17