
com.hubspot.singularity.auth.authenticator.SingularityQueryParamAuthenticator Maven / Gradle / Ivy
package com.hubspot.singularity.auth.authenticator;
import javax.servlet.http.HttpServletRequest;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.ProvisionException;
import com.google.inject.Singleton;
import com.hubspot.singularity.SingularityUser;
import com.hubspot.singularity.auth.datastore.SingularityAuthDatastore;
@Singleton
public class SingularityQueryParamAuthenticator implements SingularityAuthenticator {
private final Provider requestProvider;
private final SingularityAuthDatastore authDatastore;
@Inject
public SingularityQueryParamAuthenticator(Provider requestProvider, SingularityAuthDatastore authDatastore) {
this.requestProvider = requestProvider;
this.authDatastore = authDatastore;
}
private Optional getUserId() {
try {
return Optional.fromNullable(Strings.emptyToNull(requestProvider.get().getParameter("user")));
} catch (ProvisionException pe) {
return Optional.absent();
}
}
@Override
public Optional get() {
final Optional maybeUser = getUserId();
if (maybeUser.isPresent()) {
return authDatastore.getUser(maybeUser.get());
} else {
return Optional.absent();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy