diff --git a/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/Pac4jCurrentUser.java b/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/Pac4jCurrentUser.java index 5867e7fe8f..637d119017 100644 --- a/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/Pac4jCurrentUser.java +++ b/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/Pac4jCurrentUser.java @@ -8,15 +8,18 @@ import java.util.function.Function; import org.pac4j.core.profile.ProfileManager; +import org.pac4j.core.config.Config; import io.jooby.Context; import io.jooby.pac4j.Pac4jContext; public class Pac4jCurrentUser implements Function { + @Override public Object apply(Context ctx) { Pac4jContext pac4jContext = Pac4jContext.create(ctx); ProfileManager pm = new ProfileManager(pac4jContext, pac4jContext.getSessionStore()); + pm.setConfig(ctx.require(Config.class)); return pm.getProfile().orElse(null); } } diff --git a/modules/jooby-pac4j/src/main/java/io/jooby/pac4j/Pac4jModule.java b/modules/jooby-pac4j/src/main/java/io/jooby/pac4j/Pac4jModule.java index 4a499f551c..c0261b4517 100644 --- a/modules/jooby-pac4j/src/main/java/io/jooby/pac4j/Pac4jModule.java +++ b/modules/jooby-pac4j/src/main/java/io/jooby/pac4j/Pac4jModule.java @@ -580,6 +580,9 @@ public void install(@NonNull Jooby application) throws Exception { options.setDefaultUrl(defaultUrl); }); } + + application.getServices().put(Config.class, pac4j); + /** Set current user provider */ application.setCurrentUser(new Pac4jCurrentUser()); // cleanup