User's email address is checked against the database and user entity with the user's assigned roles is added to the session instead of the google account
Created custom error AuthenticationError and moved all custom errors to a single module
Added better exception handling and logging to the login process