Started digging deeper in IDX flow. I didn’t expect it to be that convoluted 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.
- 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
- 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
- I was not able to find
idx.skip
method in the library, though for Java SDK there is a way to doidxWrapper.skipAuthenticatorEnrollment(ctx)
(or something similar)
Any help is appreciated at this point.
TIA,
Philipp