Skip to content

Commit 8893be5

Browse files
committed
pac4j: default url must be / fix #3634
1 parent 3e13562 commit 8893be5

File tree

2 files changed

+5
-24
lines changed

2 files changed

+5
-24
lines changed

modules/jooby-pac4j/src/main/java/io/jooby/pac4j/Pac4jModule.java

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,7 @@
88
import static io.jooby.internal.pac4j.ClientReference.lazyClientNameList;
99
import static java.util.Optional.ofNullable;
1010

11-
import java.util.ArrayList;
12-
import java.util.LinkedHashMap;
13-
import java.util.List;
14-
import java.util.Map;
15-
import java.util.Set;
11+
import java.util.*;
1612
import java.util.function.Function;
1713
import java.util.stream.Collectors;
1814
import java.util.stream.Stream;
@@ -40,7 +36,6 @@
4036
import io.jooby.Context;
4137
import io.jooby.Extension;
4238
import io.jooby.Jooby;
43-
import io.jooby.Route;
4439
import io.jooby.Router;
4540
import io.jooby.StatusCode;
4641
import io.jooby.internal.pac4j.*;
@@ -348,6 +343,8 @@ public Pac4jModule client(
348343
public void install(@NonNull Jooby app) throws Exception {
349344
var services = app.getServices();
350345
services.putIfAbsent(Pac4jOptions.class, options);
346+
app.getServices().put(Config.class, options);
347+
351348
// Set defaults:
352349
services.putIfAbsent(Serializer.class, options.getSerializer());
353350

@@ -551,23 +548,7 @@ public void install(@NonNull Jooby app) throws Exception {
551548
app.errorCode(ForbiddenAction.class, StatusCode.FORBIDDEN);
552549

553550
/* Compute default url as next available route. We only select static path patterns. */
554-
if (options.getDefaultUrl() == null) {
555-
int index = app.getRoutes().size();
556-
app.onStarting(
557-
() -> {
558-
List<Route> routes = app.getRoutes();
559-
String defaultUrl = app.getContextPath();
560-
if (index < routes.size()) {
561-
Route route = routes.get(index);
562-
if (route.getPathKeys().isEmpty()) {
563-
defaultUrl = contextPath + route.getPattern();
564-
}
565-
}
566-
options.setDefaultUrl(defaultUrl);
567-
});
568-
}
569-
570-
app.getServices().put(Config.class, options);
551+
options.setDefaultUrl(Optional.ofNullable(options.getDefaultUrl()).orElse("/"));
571552

572553
/* Set current user provider */
573554
app.setCurrentUser(new Pac4jCurrentUser(options));

modules/jooby-pac4j/src/main/java/io/jooby/pac4j/Pac4jOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
*/
2727
public class Pac4jOptions extends Config {
2828

29-
private String defaultUrl;
29+
private String defaultUrl = "/";
3030

3131
private Boolean saveInSession;
3232

0 commit comments

Comments
 (0)