@Singleton
public final Authenticator providesAuthenticator(CConfiguration cConf,
@Nullable Provider<PassportClient> passportClientProvider) {
Authenticator authenticator;
if (requireAuthentication(cConf)) {
PassportClient passportClient;
passportClient = passportClientProvider == null ? getPassportClient(cConf) : passportClientProvider.get();
Preconditions.checkNotNull(passportClient, "Passport client cannot be null when authentication required");
String clusterName = cConf.get(Constants.Gateway.CLUSTER_NAME,
Constants.Gateway.CLUSTER_NAME_DEFAULT);