pub(crate) async fn offer_choices_and_login( client: &Client, choices: Vec<LoginChoice>, ) -> Result<()>
Offer the given choices to the user and login with the selected option.