Class Pac4jHandler

  • All Implemented Interfaces:
    be.objectify.deadbolt.java.DeadboltHandler, org.pac4j.core.engine.SecurityLogic

    public class Pac4jHandler
    extends org.pac4j.core.engine.DefaultSecurityLogic
    implements be.objectify.deadbolt.java.DeadboltHandler
    This is the deadbolt handler for pac4j: the deadbolt subject is built from the pac4j user profile. If no pac4j profile exists, the user is redirected to the identity provider for login for indirect clients; otherwise, a 401 error is returned. If the subject is not allowed, a 403 error is returned.
    Since:
    2.6.0
    Author:
    Jerome Leleu
    • Field Summary

      • Fields inherited from class org.pac4j.core.engine.DefaultSecurityLogic

        INSTANCE
    • Constructor Summary

      Constructors 
      Constructor Description
      Pac4jHandler​(org.pac4j.core.config.Config config, play.libs.concurrent.HttpExecutionContext httpExecutionContext, String clients, org.pac4j.core.context.session.SessionStore sessionStore, Pac4jRoleHandler rolePermissionsHandler)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      CompletionStage<Optional<play.mvc.Result>> beforeAuthCheck​(play.mvc.Http.RequestHeader requestHeader, Optional<String> content)  
      CompletionStage<Optional<be.objectify.deadbolt.java.DynamicResourceHandler>> getDynamicResourceHandler​(play.mvc.Http.RequestHeader requestHeader)  
      long getId()  
      CompletionStage<List<? extends be.objectify.deadbolt.java.models.Permission>> getPermissionsForRole​(String roleName)  
      CompletionStage<Optional<? extends be.objectify.deadbolt.java.models.Subject>> getSubject​(play.mvc.Http.RequestHeader requestHeader)  
      CompletionStage<play.mvc.Result> onAuthFailure​(play.mvc.Http.RequestHeader requestHeader, Optional<String> content)  
      • Methods inherited from class org.pac4j.core.engine.DefaultSecurityLogic

        forbidden, getAuthorizationChecker, getClientFinder, getMatchingChecker, getSavedRequestHandler, loadProfiles, perform, redirectToIdentityProvider, saveRequestedUrl, setAuthorizationChecker, setClientFinder, setMatchingChecker, setSavedRequestHandler, startAuthentication, toString, unauthorized
      • Methods inherited from class org.pac4j.core.engine.AbstractExceptionAwareLogic

        getErrorUrl, handleException, runtimeException, setErrorUrl
      • Methods inherited from class org.pac4j.core.profile.factory.ProfileManagerFactoryAware

        getProfileManager, getProfileManagerFactory, setProfileManagerFactory
      • Methods inherited from interface be.objectify.deadbolt.java.DeadboltHandler

        handlerName, onAuthSuccess
    • Constructor Detail

      • Pac4jHandler

        public Pac4jHandler​(org.pac4j.core.config.Config config,
                            play.libs.concurrent.HttpExecutionContext httpExecutionContext,
                            String clients,
                            org.pac4j.core.context.session.SessionStore sessionStore,
                            Pac4jRoleHandler rolePermissionsHandler)
    • Method Detail

      • getId

        public long getId()
        Specified by:
        getId in interface be.objectify.deadbolt.java.DeadboltHandler
      • beforeAuthCheck

        public CompletionStage<Optional<play.mvc.Result>> beforeAuthCheck​(play.mvc.Http.RequestHeader requestHeader,
                                                                          Optional<String> content)
        Specified by:
        beforeAuthCheck in interface be.objectify.deadbolt.java.DeadboltHandler
      • getSubject

        public CompletionStage<Optional<? extends be.objectify.deadbolt.java.models.Subject>> getSubject​(play.mvc.Http.RequestHeader requestHeader)
        Specified by:
        getSubject in interface be.objectify.deadbolt.java.DeadboltHandler
      • getPermissionsForRole

        public CompletionStage<List<? extends be.objectify.deadbolt.java.models.Permission>> getPermissionsForRole​(String roleName)
        Specified by:
        getPermissionsForRole in interface be.objectify.deadbolt.java.DeadboltHandler
      • onAuthFailure

        public CompletionStage<play.mvc.Result> onAuthFailure​(play.mvc.Http.RequestHeader requestHeader,
                                                              Optional<String> content)
        Specified by:
        onAuthFailure in interface be.objectify.deadbolt.java.DeadboltHandler
      • getDynamicResourceHandler

        public CompletionStage<Optional<be.objectify.deadbolt.java.DynamicResourceHandler>> getDynamicResourceHandler​(play.mvc.Http.RequestHeader requestHeader)
        Specified by:
        getDynamicResourceHandler in interface be.objectify.deadbolt.java.DeadboltHandler