Help with "Last-Mile" solution for Facebook Login?

I’ve been stumped for a while about implementing Facebook login. I’m getting this error code when I try to log in to my Bubble app through Facebook:

{"statusCode":400, "body":
{"status"}: "ERROR", "message":"Redirect ID invalid"}}

What I’ve got, by using the Live app on iPhone:
• “Continue with Facebook” login button
• Workflow from button: Signup/login from Facebook >> Make changes to current user … (yada yada, doesn’t get to this point)
• Redirect out of the app, opens new Safari window. “Confirm Login” Facebook page appears normally.
• Tap “Continue” button
• Get aforementioned error message
• If I manually switch back to the Bubble app, the page is unchanged except for a loading bar at the top that goes nowhere and does nothing.

My setup:

“Use a generic redirect URL” for Facebook in Plugins is checked.

Site URL in Step 1 of Facebook Developers is “https://mywebsiteURL.TLD

Got this script in Settings >> SEO/Metatags >> Advanced settings >> Script in the body:

  // This is called with the results from from FB.getLoginStatus().
  function statusChangeCallback(response) {
    // The response object is returned with a status field that lets the
    // app know the current login status of the person.
    // Full docs on the response object can be found in the documentation
    // for FB.getLoginStatus().
    if (response.status === 'connected') {
      // Logged into your app and Facebook.
    } else {
      // The person is not logged into your app or we are unable to tell.
      document.getElementById('status').innerHTML = 'Please log ' +
        'into this app.';

  // This function is called when someone finishes with the Login
  // Button.  See the onlogin handler attached to it in the sample
  // code below.
  function checkLoginState() {
    FB.getLoginStatus(function(response) {

  window.fbAsyncInit = function() {
      appId      : '{335058417017041}',
      cookie     : true,  // enable cookies to allow the server to access 
                          // the session
      xfbml      : true,  // parse social plugins on this page
      version    : 'v2.8' // use graph api version 2.8

    // Now that we've initialized the JavaScript SDK, we call 
    // FB.getLoginStatus().  This function gets the state of the
    // person visiting this page and can return one of three states to
    // the callback you provide.  They can be:
    // 1. Logged into your app ('connected')
    // 2. Logged into Facebook, but not your app ('not_authorized')
    // 3. Not logged into Facebook and can't tell if they are logged into
    //    your app or not.
    // These three cases are handled in the callback function.

    FB.getLoginStatus(function(response) {


  // Load the SDK asynchronously
  (function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); = id;
    js.src = "";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  // Here we run a very simple test of the Graph API after login is
  // successful.  See statusChangeCallback() for when this call is made.
  function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
      console.log('Successful login for: ' +;
      document.getElementById('status').innerHTML =
        'Thanks for logging in, ' + + '!';

The other frustration is that the workflow works as intended in Developer mode, but not in Live mode. I do not encounter the error code in Developer Mode.

I read as many of the relevant Bubble Forum posts and got incrementally close until I got to this point. I have no idea what to do now. I started to go down a rabbit hole of looking up solutions in JavaScript and PHP and installing kits before I stopped myself.

Any ideas on how to unf*ck this?

Just a simple thing, but worth checking based on what you mentioned.

How are your keys set up for development versus live? (My thinking: if is working in dev but not on live, perhaps the issue is that you pasted your key incorrectly for live).

That’s simple enough to work.

I currently have the App ID and App Secret. I do not have anything plugged in for the [App ID/API Key - dev.] and [App Secret - dev.] fields. Looking…

I’m not sure where the info for those fields would be, assuming that is the source of the problem.

To confirm, you’re using your own Facebook developer account? Or did you find the credentials somewhere else?