Implementations comparison for the web components:

Categories

Implementation The security filter applies at a URL level The security filter applies at a method level The callback endpoint The logout endpoint
spring-webmvc-pac4j
using the SecurityInterceptor

using the CallbackController

using the LogoutController
spring-webflux-pac4j
using the SecurityFilter

using the CallbackController

using the LogoutController
jee-pac4j
using the SecurityFilter

using the CallbackFilter

using the LogoutFilter
buji-pac4j
using the SecurityFilter (via jee-pac4j)

using the CallbackFilter (via jee-pac4j)

using the LogoutFilter (via jee-pac4j)
spring-security-pac4j
using the SecurityFilter (via jee-pac4j)

using the CallbackFilter (via jee-pac4j)

using the LogoutFilter (via jee-pac4j)
play-pac4j
using the SecurityFilter

using the @Secure annotation or the Security trait

using the CallbackController

using the LogoutController
vertx-pac4j
using the SecurityHandler

using the CallbackHandler

using the LogoutHandler
spark-pac4j
using the SecurityFilter

using the CallbackRoute

using the LogoutRoute
javalin-pac4j
using the SecurityHandler

using the CallbackHandler

using the LogoutHandler
ratpack-pac4j
using the RatpackPac4j.login and RatpackPac4j.requireAuth methods

using the RatpackPac4j.authenticator method

using the RatpackPac4j.logout() method
pippo-pac4j
using the Pac4jSecurityHandler

using the Pac4jCallbackHandler

using the Pac4jLogoutHandler
undertow-pac4j
using the SecurityHandler

using the CallbackHandler

using the LogoutHandler
CAS
jax-rs-pac4j
using the SecurityFilter

using the @Pac4JSecurity annotation

using the CallbackFilter or the @Pac4JCallback annotation

using the LogoutFilter or the @Pac4JLogout annotation
dropwizard-pac4j
using the SecurityFilter

using the @Pac4JSecurity annotation

using the CallbackFilter or the @Pac4JCallback annotation

using the LogoutFilter or the @Pac4JLogout annotation
lagom-pac4j
using service call composition with SecuredService interface

using authenticate() and authorize() methods

No callback endpoints (reactive microservices)

No logout endpoints (reactive microservices)
http4s-pac4j
using the SecurityFilterMiddleware

using the CallbackService

using the LogoutService
Knox
Federation provider for KnoxSSO service

SSO callback via pac4j.callbackUrl

SSO logout handled by identity provider
jooby-pac4j
installed by the Pac4jModule

installed by the Pac4jModule

installed by the Pac4jModule