Client::authenticate() returns boolean rather than throwing exceptions