<dependency>
<groupId>org.pac4j</groupId>
<artifactId>pac4j-core</artifactId>
<version>4.3.0</version>
</dependency>
Config config = new Config();
config.setHttpActionAdapter(new DefaultHttpActionAdapter());
GoogleOAuth20Client googleClient = new GoogleOAuth20Client("clientId", "clientSecret");
config.addClient(googleClient);
FormClient formClient = new FormClient("/login", new SimpleTestUsernamePasswordAuthenticator());
config.addClient(formClient);
pac4j.callbackUrl = http://localhost:8080/callback
pac4j.clients = FormClient,GoogleOAuth20Client
public class SecurityFilter implements Filter {
private Config config;
private SecurityFilter securityFilter;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
ConfigFactory.getConfig().load();
config = ConfigFactory.getConfig();
securityFilter = new SecurityFilter(config);
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
securityFilter.doFilter((HttpServletRequest) servletRequest, (HttpServletResponse) servletResponse, filterChain);
}
@Override
public void destroy() {
}
}
<filter>
<filter-name>securityFilter</filter-name>
<filter-class>com.example.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>securityFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>