![JAR search and dependency download from the Maven repository](/logo.png)
fr.mmarie.guice.AuthenticationModule Maven / Gradle / Ivy
The newest version!
package fr.mmarie.guice;
import com.google.inject.AbstractModule;
import fr.mmarie.GitLabJiraConfiguration;
import fr.mmarie.core.auth.GitLabAuthFilter;
import fr.mmarie.core.auth.GitLabAuthenticator;
import io.dropwizard.auth.AuthDynamicFeature;
import io.dropwizard.auth.AuthValueFactoryProvider;
import io.dropwizard.setup.Environment;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import ru.vyarus.dropwizard.guice.module.support.ConfigurationAwareModule;
import ru.vyarus.dropwizard.guice.module.support.EnvironmentAwareModule;
import javax.ws.rs.core.Response;
import java.security.Principal;
public class AuthenticationModule extends AbstractModule implements EnvironmentAwareModule,
ConfigurationAwareModule {
private Environment environment;
private GitLabJiraConfiguration configuration;
@Override
protected void configure() {
environment.jersey().register(new AuthDynamicFeature(new GitLabAuthFilter.Builder()
.setAuthenticator(new GitLabAuthenticator(configuration.getPassword()))
.setUnauthorizedHandler((s, s1) -> Response.status(Response.Status.UNAUTHORIZED).build())
.setRealm("GitLab HOOK")
.buildAuthFilter()));
environment.jersey().register(RolesAllowedDynamicFeature.class);
environment.jersey().register(new AuthValueFactoryProvider.Binder<>(Principal.class));
}
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
@Override
public void setConfiguration(GitLabJiraConfiguration configuration) {
this.configuration = configuration;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy