Cleaner login dialog using a service