Skip to content

Commit

Permalink
update to kc24. trial of using it as an alternate account theme. (#140)
Browse files Browse the repository at this point in the history
  • Loading branch information
xgp authored Mar 21, 2024
1 parent e79c0b2 commit 24f1c64
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package io.phasetwo.portal;

import com.google.auto.service.AutoService;
import lombok.extern.jbosslog.JBossLog;
import org.keycloak.Config.Scope;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.RealmModel;
import org.keycloak.provider.ProviderEvent;
import org.keycloak.services.resource.AccountResourceProvider;
import org.keycloak.services.resource.AccountResourceProviderFactory;

@JBossLog
@AutoService(AccountResourceProviderFactory.class)
public class AccountPortalResourceProviderFactory implements AccountResourceProviderFactory {

public static final String ID = "portal";

@Override
public String getId() {
return ID;
}

@Override
public AccountResourceProvider create(KeycloakSession session) {
// get override config
RealmModel realm = session.getContext().getRealm();
String override = realm.getName();
return new PortalResourceProvider(session, override);
}

@Override
public void init(Scope config) {}

@Override
public void postInit(KeycloakSessionFactory factory) {
factory.register(
(ProviderEvent event) -> {
if (event instanceof RealmModel.RealmPostCreateEvent) {
log.debug("RealmPostCreateEvent");
realmPostCreate((RealmModel.RealmPostCreateEvent) event);
}
});
}

private void realmPostCreate(RealmModel.RealmPostCreateEvent event) {
// no-op for now
}

@Override
public void close() {}
}
5 changes: 3 additions & 2 deletions ext/main/java/io/phasetwo/portal/PortalResourceProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,17 @@
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.services.Urls;
import org.keycloak.services.cors.Cors;
import org.keycloak.services.managers.AppAuthManager;
import org.keycloak.services.managers.Auth;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.resource.AccountResourceProvider;
import org.keycloak.services.resource.RealmResourceProvider;
import org.keycloak.services.resources.Cors;
import org.keycloak.services.resources.RealmsResource;
import org.keycloak.theme.Theme;

@JBossLog
public class PortalResourceProvider implements RealmResourceProvider {
public class PortalResourceProvider implements AccountResourceProvider, RealmResourceProvider {

private static ObjectMapper mapper = new ObjectMapper();

Expand Down
2 changes: 1 addition & 1 deletion ext/main/resources/META-INF/keycloak-themes.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"themes": [
{
"name": "portal",
"types": ["login"]
"types": ["account", "login"]
}
]
}
1 change: 1 addition & 0 deletions ext/main/resources/theme/portal/account/theme.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
accountResourceProvider=portal
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<main.java.package>io.phasetwo.portal</main.java.package>
<keycloak.version>23.0.1</keycloak.version>
<keycloak.version>24.0.0</keycloak.version>
<guava.version>32.0.0-jre</guava.version>
<commons-lang3.version>3.11</commons-lang3.version>
<lombok.version>1.18.30</lombok.version>
Expand Down

0 comments on commit 24f1c64

Please sign in to comment.