move omniauth logic to user::omniauth_handler and make more readable