├── .gitignore ├── acme-dist ├── pom.xml └── src │ └── main │ └── docker │ └── keycloak │ └── Dockerfile ├── acme-extensions ├── pom.xml └── src │ ├── main │ ├── java │ │ └── demo │ │ │ └── acme │ │ │ └── keycloak │ │ │ ├── api │ │ │ ├── AcmeResource.java │ │ │ ├── AcmeResourceProvider.java │ │ │ └── AcmeResourceProviderFactory.java │ │ │ ├── audit │ │ │ ├── AcmeAuditListener.java │ │ │ └── AcmeAuditListenerFactory.java │ │ │ └── oidc │ │ │ └── AgeInfoMapper.java │ └── resources │ │ └── META-INF │ │ └── jboss-deployment-structure.xml │ └── test │ ├── java │ └── demo │ │ └── acme │ │ └── keycloak │ │ ├── AcmeKeycloakIntegrationTest.java │ │ ├── BoostrapTest.java │ │ └── KeycloakTestSupport.java │ └── resources │ └── log4j.properties ├── acme-themes ├── pom.xml └── src │ └── main │ └── resources │ └── theme │ └── acme │ └── login │ ├── resources │ ├── css │ │ └── acme-login.css │ └── js │ │ └── acme-login.js │ └── theme.properties ├── cli └── onstart-0001-init.cli ├── demoapp ├── index.html └── run.sh ├── docker-compose.yml ├── etc ├── exportRealm.sh ├── runDemoApp.sh └── triggerDockerExtensionDeploy.sh ├── imex └── acme-realm.json ├── notes.md ├── pom.xml ├── readme.md ├── requests ├── acme.http └── http-client.env.json └── slides └── 20210406-JUGSaar-keycloak-extension-development.pdf /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/.gitignore -------------------------------------------------------------------------------- /acme-dist/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-dist/pom.xml -------------------------------------------------------------------------------- /acme-dist/src/main/docker/keycloak/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-dist/src/main/docker/keycloak/Dockerfile -------------------------------------------------------------------------------- /acme-extensions/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/pom.xml -------------------------------------------------------------------------------- /acme-extensions/src/main/java/demo/acme/keycloak/api/AcmeResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/main/java/demo/acme/keycloak/api/AcmeResource.java -------------------------------------------------------------------------------- /acme-extensions/src/main/java/demo/acme/keycloak/api/AcmeResourceProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/main/java/demo/acme/keycloak/api/AcmeResourceProvider.java -------------------------------------------------------------------------------- /acme-extensions/src/main/java/demo/acme/keycloak/api/AcmeResourceProviderFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/main/java/demo/acme/keycloak/api/AcmeResourceProviderFactory.java -------------------------------------------------------------------------------- /acme-extensions/src/main/java/demo/acme/keycloak/audit/AcmeAuditListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/main/java/demo/acme/keycloak/audit/AcmeAuditListener.java -------------------------------------------------------------------------------- /acme-extensions/src/main/java/demo/acme/keycloak/audit/AcmeAuditListenerFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/main/java/demo/acme/keycloak/audit/AcmeAuditListenerFactory.java -------------------------------------------------------------------------------- /acme-extensions/src/main/java/demo/acme/keycloak/oidc/AgeInfoMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/main/java/demo/acme/keycloak/oidc/AgeInfoMapper.java -------------------------------------------------------------------------------- /acme-extensions/src/main/resources/META-INF/jboss-deployment-structure.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/main/resources/META-INF/jboss-deployment-structure.xml -------------------------------------------------------------------------------- /acme-extensions/src/test/java/demo/acme/keycloak/AcmeKeycloakIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/test/java/demo/acme/keycloak/AcmeKeycloakIntegrationTest.java -------------------------------------------------------------------------------- /acme-extensions/src/test/java/demo/acme/keycloak/BoostrapTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/test/java/demo/acme/keycloak/BoostrapTest.java -------------------------------------------------------------------------------- /acme-extensions/src/test/java/demo/acme/keycloak/KeycloakTestSupport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/test/java/demo/acme/keycloak/KeycloakTestSupport.java -------------------------------------------------------------------------------- /acme-extensions/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-extensions/src/test/resources/log4j.properties -------------------------------------------------------------------------------- /acme-themes/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-themes/pom.xml -------------------------------------------------------------------------------- /acme-themes/src/main/resources/theme/acme/login/resources/css/acme-login.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-themes/src/main/resources/theme/acme/login/resources/css/acme-login.css -------------------------------------------------------------------------------- /acme-themes/src/main/resources/theme/acme/login/resources/js/acme-login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-themes/src/main/resources/theme/acme/login/resources/js/acme-login.js -------------------------------------------------------------------------------- /acme-themes/src/main/resources/theme/acme/login/theme.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/acme-themes/src/main/resources/theme/acme/login/theme.properties -------------------------------------------------------------------------------- /cli/onstart-0001-init.cli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/cli/onstart-0001-init.cli -------------------------------------------------------------------------------- /demoapp/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/demoapp/index.html -------------------------------------------------------------------------------- /demoapp/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | python3 -m http.server 4000 -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /etc/exportRealm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/etc/exportRealm.sh -------------------------------------------------------------------------------- /etc/runDemoApp.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | (cd demoapp; python3 -m http.server 4000) -------------------------------------------------------------------------------- /etc/triggerDockerExtensionDeploy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/etc/triggerDockerExtensionDeploy.sh -------------------------------------------------------------------------------- /imex/acme-realm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/imex/acme-realm.json -------------------------------------------------------------------------------- /notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/notes.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/pom.xml -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/readme.md -------------------------------------------------------------------------------- /requests/acme.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/requests/acme.http -------------------------------------------------------------------------------- /requests/http-client.env.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/requests/http-client.env.json -------------------------------------------------------------------------------- /slides/20210406-JUGSaar-keycloak-extension-development.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomasdarimont/keycloak-extensions-talk/HEAD/slides/20210406-JUGSaar-keycloak-extension-development.pdf --------------------------------------------------------------------------------