implement Adapter::authenticate()