Multiples steps and screens for user registration

Hello everyone,

I am building a platform that has a specific registration flow. It should be done in three steps.

On a first screen, the user needs to register via a supported social IDP (Google, Microsoft or Yahoo).
Then the user needs to acknowledge his firstname and lastname (and change them if needed) on a second screen.
Finally on a third screen, the user chooses a username and a password.

Only after those three steps, I should consider a user as registered.
How can I achieve this with Keycloak ?

For now, I looked into theming and authentication flows (inside the administration webpage of my realm), my supposition is that I need to create some custom flows and executions (in JAR) and rebuild our Keycloak docker image with those flows and executions so I can use it inside a custom authentication flow.

Can you confirm that I am on the right track ? Or can you give me a better way to realize that registration flow ?

Thanks for your help,