The registration page comes with a form where the user selects a
username. When the user clicks "register" a javascript function is
called that reads the user form input value and makes a GET request to
/challenge/:user where it receives a challenge and a user object as
JSON. The WebAuthn registration process continues using those challenge
parameters.
The user then receives an alert() with a string explaining the
registration status and is then redirected to the front page where a
flash message is displayed as well.