When the register view is called, it creates an entry for that user in the database table. Doing that "claims" the username and email. That is not the expected behavior. We should rather have a transient database table that stores the information and ONLY "copy" those details to the main user table when user verifies their account.