IDX new user registration

Started digging deeper in IDX flow. I didn’t expect it to be that convoluted :slight_smile: but it is what it is…

My question is: I register a user with password authenticator

      const oktaAuth = new OktaAuth({
        issuer: "https://......oktapreview.com/oauth2/default",
        clientId: "<client_id>",
        redirectUri: "https://xxx.yyy.com",
      });

      let resp = await oktaAuth.idx.register({
        firstName: "Ned",
        lastName: "Stark",
        email: "whatever.email@whatever.com",
        authenticators: ["okta_password"],
      });

then I provide the password

      resp = await oktaAuth.idx.proceed({
        password: "WinterIsC0ming",
      });

After this step I expected to be able to complete the transaction, like described in this Okta guide, but the status is still PENDING and it wants me to select-authenticator-enroll from email, phone and okta-verify.

  1. after these 2 steps above the user shown as being staged and not activated, so I wonder, if there is any documentation which describes IDX state machine and how user is moved from state to state based on IDX calls
  2. I can’t figure why it is required and how can I skip this step? All authenticators are optional, not required for password recovery (except Verify), or by authentication policy or global session policy
  3. I was not able to find idx.skip method in the library, though for Java SDK there is a way to do idxWrapper.skipAuthenticatorEnrollment(ctx) (or something similar)

Any help is appreciated at this point.

TIA,
Philipp

1 Like

Closest I can find is this link Self-service registration | Okta Developer

To skip rest of the optional enrollment after password.

oktaAuth.idx.proceed({ skip: true })

Thank you, Nick! That’s what I also was able to figure.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.