FWIW, I was able to get a very simple POC of the ACUL functionality run to test it out. This helped me demystify it and test out the flow.
Steps for simple ACUL POC
1- Create a new React project npm create vite@latest
2- install a few more dependencies npm install @auth0/auth0-acul-js npm install tailwindcss @tailwindcss/postcss postcss
3-Create a simple form that has the required fields for the screen you are customizing. EG, for the signup-password screen, I’m just using this: function App() { return ( <> <div>HELLO</div> <form action={window.location.href} method="post"> Username <input type="text" name="username" /> <br/> Password <input type="text" name="password" /> <br/> Favorite Color <input type="text" name="favoriteColor" /> <input type="submit" value="Submit" /> </form> </> ) } export default App;
Important: submit form to the same origin
4-Build the app and serve locally from the ./dist directory
note: you’ll probably need an ssl cert and to tweak the cors settings
5- Tell Auth0 you’re using an advanced screen
Patch the json below here: [managementApiUri]/api/v2/prompts/signup-password/screen/signup-password/rendering
That’s basically it. Note, I’m not even using the ACUL JDK in this example. Just submitting a form with the correct fields.
Also, I’m unable to access the form data in the pre-user-registration action, as the documentation indicates you should. If anyone has more lock with this, please let me know.