This exposes some X.509 extension details so we can pretty print certificates with Universal 2nd Factor (U2F) certificate transports extensions
Co-authored-by: Hannes Mehnert <hannes@mehnert.org>
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.