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