Client::authenticate() returns boolean rather than throwing an exception