Create new user via SSO

Hello everyone, I’m encountering an issue that I really don’t understand.

I am trying to create a new user through SSO. The SSO flow seems to work fine,

  1. The user click the SSO button
  2. Gets redirected to our organisation connect platform
  3. Types in his credentials
  4. and finally gets redirected to openedX registration page.

The problem is that when redirected to the registration page the user gets stuck with a spinner loading for ever.

I do have “Skip registration form” turned ON in my OAuth2 provider configuration. I believe that the form has properly been submitted automatically since the spinner shows up(maybe I’m wrong). But the user is never created.

In the logs, the last entry is:

GET /api/mfe_context?is_register_page=true => generated 3941 bytes in 29 msecs (HTTP/1.1 200)

And that is it, nothing else is happening after that.

In my browser developer tools under the network tab, when I check the response of GET /api/mfe_context?is_register_page=true, I do have all the pipeline_user_details infos.

{
  "context_data": {
    "currentProvider": "Connect",
    "platformName": "Learning",
    "providers": [
      {
        "id": "oa2-oidc",
        "name": "Connect",
        "iconClass": "fa-sign-in",
        "iconImage": null,
        "skipHintedLogin": true,
        "skipRegistrationForm": true,
        "loginUrl": "/auth/login/oidc/?auth_entry=login&next=%2Fdashboard",
        "registerUrl": "/auth/login/oidc/?auth_entry=register&next=%2Fdashboard"
      }
    ],
    "secondaryProviders": [],
    "finishAuthUrl": "/auth/complete/oidc/?",
    "errorMessage": null,
    "registerFormSubmitButtonText": "Créer un compte",
    "syncLearnerProfileData": true,
    "pipeline_user_details": {
      "username": "publicuser1",
      "email": "public.user@public.com",
      "fullname": "User Public",
      "first_name": "User",
      "last_name": "Public",
      "groups": null
    },
    "countryCode": "FR"
  }
}

(skipHintedLogin true or false, issue stays the same)

I do have an error in my console but I don’t think it is related to the problem:

[OPTIMIZELY] - ERROR 2023-08-01T10:17:54.738Z PROJECT_CONFIG_MANAGER: You must provide at least one of sdkKey or datafile. Cannot start Optimizely

Some other things to know:

  • I’m using Tutor and the docker image we use is docker.io/overhangio/openedx-mfe:16.0.0
  • When the user already has an account with openedX, everything works fine. After signing in through SSO, the user gets redirected to the dashboard all logged in.
  • After upgrading from Olive to Palm, and “Skip registration form” is turned OFF, the form is not pre-filled anymore.
  • The issue persist in local or in staging

So my questions are:

  • What is happening? Why is the user stuck within a forever loading spinner with no error message? and no users created?
  • Also why on Olive I could see the the form being automatically pre-filled with all the right infos and not anymore after upgrading to Palm?

Any help from the community would be greatly appreciated, if you need more infos just let me know.

Thank you ^^