AuthenticationFactory implementation