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/17 15:46:16 UTC

[isis-app-simpleapp] branch ISIS-2793-rewrite-v2 created (now 1a8fbe1)

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a change to branch ISIS-2793-rewrite-v2
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git.


      at 1a8fbe1  ISIS-2793: configures to rewritten keycloak

This branch includes the following new commits:

     new 1a8fbe1  ISIS-2793: configures to rewritten keycloak

The 1 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/01: ISIS-2793: configures to rewritten keycloak

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-rewrite-v2
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git

commit 1a8fbe195a7a020ed3ed1da42a4686e003539390
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Jul 17 16:45:54 2021 +0100

    ISIS-2793: configures to rewritten keycloak
---
 pom.xml                                              |  2 +-
 webapp/pom.xml                                       |  2 +-
 .../src/main/java/domainapp/webapp/AppManifest.java  | 17 ++++++++++-------
 .../src/main/resources/config/application.properties | 20 ++++++++++++++++++++
 4 files changed, 32 insertions(+), 9 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..2b76840 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -70,7 +70,7 @@
 
         <dependency>
             <groupId>org.apache.isis.security</groupId>
-            <artifactId>isis-security-shiro</artifactId>
+            <artifactId>isis-security-keycloak</artifactId>
         </dependency>
 
         <dependency>
diff --git a/webapp/src/main/java/domainapp/webapp/AppManifest.java b/webapp/src/main/java/domainapp/webapp/AppManifest.java
index e02e4e7..ffd8f4f 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,
diff --git a/webapp/src/main/resources/config/application.properties b/webapp/src/main/resources/config/application.properties
index 8a7dcce..7aff1f2 100644
--- a/webapp/src/main/resources/config/application.properties
+++ b/webapp/src/main/resources/config/application.properties
@@ -25,6 +25,26 @@ eclipselink.create-ddl-jdbc-file-name=create-db-schema.sql
 eclipselink.application-location=.
 eclipselink.jpa.upper-case-column-names=false
 
+
+isis.security.keycloak.realm=demo
+isis.security.keycloak.base-url=http://localhost:9090/auth
+
+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
+
+app.keycloak.realm-url=${isis.security.keycloak.base-url}/realms/${isis.security.keycloak.realm}
+
+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}/login/oauth2/code/{registrationId}
+spring.security.oauth2.client.provider.keycloak.authorization-uri=${app.keycloak.realm-url}/protocol/openid-connect/auth
+spring.security.oauth2.client.provider.keycloak.jwk-set-uri=${app.keycloak.realm-url}/protocol/openid-connect/certs
+spring.security.oauth2.client.provider.keycloak.token-uri=${app.keycloak.realm-url}/protocol/openid-connect/token
+spring.security.oauth2.client.provider.keycloak.user-name-attribute=preferred_username
+
+
 # uncomment to run during bootstrap
 #isis.testing.fixtures.initial-script = domainapp.webapp.application.fixture.scenarios.DomainAppDemo