The registration and login flow refers to the process by which users create a new account and subsequently access it
The user can register an account using
Once user interacts with the Sign in with Google button, the user is taken to a view where
they can choose a Google account to sign in with, then Google prompts the user to sign in to their Google account, ensuring their identity and consent to share information with the requesting app. Upon successful authentication, Google generates an access token and sends it back to the requesting app
At this point we attempt to create a user on the open wallet server, since the user does not have an account with us, the server returns a challenge to the user, this challenge has to be signed using a Passkey
You can imagine that challenge looks something like this 3f8g6h1j7k9l0z2x5c6v8b7n9m0q1w4e6r8t3y6u1i9o0p2s5d8f7g4h6j8k7l9z0x1c4v7b6n9m0q2w5e8r7t6y9u0i3o6p9
Creating a PassKey
When registering a new Passkey on an iPhone, the user experience flow is as follows:
As a last step in the registration process, the signed challenge is sent back to the server, if server is successfully able to verify the signed challenge, a new user account is created on the server