You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/07/15 13:56:43 UTC
[isis-app-simpleapp] branch ISIS-2793-keycloak-rewrite created (now
46d6faf)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a change to branch ISIS-2793-keycloak-rewrite
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git.
at 46d6faf ISIS-2793: hacking
This branch includes the following new commits:
new 40eb6b7 updates parent pom to 2.0.0-SNAPSHOT
new 46d6faf ISIS-2793: hacking
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[isis-app-simpleapp] 01/02: updates parent pom to 2.0.0-SNAPSHOT
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2793-keycloak-rewrite
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 40eb6b707424c6c089f0212894c3b69372a34359
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Jul 13 06:49:10 2021 +0100
updates parent pom to 2.0.0-SNAPSHOT
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 31d6f95..df02610 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
<packaging>pom</packaging>
<properties>
- <isis.version>2.0.0-M5.20210713-0226-85ec9782</isis.version>
+ <isis.version>2.0.0-SNAPSHOT</isis.version>
<java.version>11</java.version>
<maven-cucumber-reporting.version>5.3.0</maven-cucumber-reporting.version>
<archunit.version>0.14.1</archunit.version>
[isis-app-simpleapp] 02/02: ISIS-2793: hacking
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2793-keycloak-rewrite
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 46d6faf5a0d34a318227c5069d4a4bafa8753156
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jul 15 14:56:22 2021 +0100
ISIS-2793: hacking
---
pom.xml | 2 +-
webapp/pom.xml | 7 +++++
.../main/java/domainapp/webapp/AppManifest.java | 22 +++++++++-----
.../main/resources/config/application.properties | 35 ++++++++++++++++++++++
4 files changed, 58 insertions(+), 8 deletions(-)
diff --git a/pom.xml b/pom.xml
index df02610..71fd836 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.apache.isis.app</groupId>
<artifactId>isis-app-starter-parent</artifactId>
- <version>2.0.0-M5.20210713-0226-85ec9782</version>
+ <version>2.0.0-SNAPSHOT</version>
<relativePath/>
</parent>
diff --git a/webapp/pom.xml b/webapp/pom.xml
index f843b8e..330d616 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -70,8 +70,15 @@
<dependency>
<groupId>org.apache.isis.security</groupId>
+ <artifactId>isis-security-keycloak</artifactId>
+ </dependency>
+
+<!--
+ <dependency>
+ <groupId>org.apache.isis.security</groupId>
<artifactId>isis-security-shiro</artifactId>
</dependency>
+-->
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
diff --git a/webapp/src/main/java/domainapp/webapp/AppManifest.java b/webapp/src/main/java/domainapp/webapp/AppManifest.java
index e02e4e7..57272f0 100644
--- a/webapp/src/main/java/domainapp/webapp/AppManifest.java
+++ b/webapp/src/main/java/domainapp/webapp/AppManifest.java
@@ -1,19 +1,19 @@
package domainapp.webapp;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
import org.apache.isis.extensions.flyway.impl.IsisModuleExtFlywayImpl;
import org.apache.isis.persistence.jpa.eclipselink.IsisModuleJpaEclipselink;
-import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
+import org.apache.isis.security.bypass.authorization.AuthorizorBypass;
+import org.apache.isis.security.keycloak.IsisModuleSecurityKeycloak;
import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
import domainapp.webapp.application.ApplicationModule;
import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
@@ -23,7 +23,10 @@ import domainapp.webapp.quartz.QuartzModule;
@Configuration
@Import({
IsisModuleCoreRuntimeServices.class,
- IsisModuleSecurityShiro.class,
+
+ IsisModuleSecurityKeycloak.class,
+ AuthorizorBypass.class,
+
IsisModuleJpaEclipselink.class,
IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
IsisModuleViewerWicketViewer.class,
@@ -44,4 +47,9 @@ import domainapp.webapp.quartz.QuartzModule;
@PropertySource(IsisPresets.DebugDiscovery),
})
public class AppManifest {
+
+// @Bean
+// public LogoutHandler logout(LogoutHandlerWkt logoutHandlerWkt) {
+// return (request, response, authentication) -> logoutHandlerWkt.forceLogout();
+// }
}
diff --git a/webapp/src/main/resources/config/application.properties b/webapp/src/main/resources/config/application.properties
index 8a7dcce..ba6dfa2 100644
--- a/webapp/src/main/resources/config/application.properties
+++ b/webapp/src/main/resources/config/application.properties
@@ -25,6 +25,41 @@ eclipselink.create-ddl-jdbc-file-name=create-db-schema.sql
eclipselink.application-location=.
eclipselink.jpa.upper-case-column-names=false
+#keycloak.realm=simpleapp
+#keycloak.auth-server-url=http://localhost:9090/auth
+#keycloak.resource=simpleapp-client
+#keycloak.credentials.secret=ea64432f-ea0a-429e-b4c8-c91778ee74b3
+#keycloak.use-resource-role-mappings=true
+#
+#keycloak.securityConstraints[0].authRoles[0]=regular-user
+#keycloak.securityConstraints[0].securityCollections[0].name=secured
+#keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/wicket
+##keycloak.securityConstraints[0].securityCollections[0].patterns[1]=/restful
+##keycloak.securityConstraints[0].securityCollections[0].patterns[2]=/logout
+
+
+server.port=8082
+
+kc.base-url=http://localhost:9090/auth
+kc.realm=demo
+kc.realm-url=${kc.base-url}/realms/${kc.realm}
+
+spring.security.oauth2.client.registration.demo.client-id=app-demo
+spring.security.oauth2.client.registration.demo.client-name=Demo App
+spring.security.oauth2.client.registration.demo.client-secret=e3f519b4-0272-4261-9912-8b7453ac4ecd
+spring.security.oauth2.client.registration.demo.provider=keycloak
+spring.security.oauth2.client.registration.demo.authorization-grant-type=authorization_code
+spring.security.oauth2.client.registration.demo.scope=openid, profile
+#spring.security.oauth2.client.registration.demo.redirect-uri={baseUrl}/wicket/
+spring.security.oauth2.client.registration.demo.redirect-uri={baseUrl}/login/oauth2/code/{registrationId}
+#spring.security.oauth2.client.registration.demo.redirect-uri={baseUrl}/wicket/signin
+spring.security.oauth2.client.provider.keycloak.authorization-uri=${kc.realm-url}/protocol/openid-connect/auth
+spring.security.oauth2.client.provider.keycloak.jwk-set-uri=${kc.realm-url}/protocol/openid-connect/certs
+spring.security.oauth2.client.provider.keycloak.token-uri=${kc.realm-url}/protocol/openid-connect/token
+spring.security.oauth2.client.provider.keycloak.user-name-attribute=preferred_username
+
+isis.viewer.wicket.logout.invalidate-sessiom=true
+
# uncomment to run during bootstrap
#isis.testing.fixtures.initial-script = domainapp.webapp.application.fixture.scenarios.DomainAppDemo