client side login