From dcf43d442ca28978027a729a0365c73faf14870c Mon Sep 17 00:00:00 2001
From: Patrizio Bekerle <patrizio@bekerle.com>
Date: Tue, 26 Jan 2021 14:40:49 +0100
Subject: [PATCH] Integrate entryPointUrl for AuthKeycloak

---
 packages/auth/assets/index.html                     |  2 +-
 packages/auth/src/dbp-auth-demo.js                  | 13 ++++++++-----
 .../src/dbp-check-in-place-select-demo.js           |  2 +-
 packages/data-table-view/assets/index.html          |  2 +-
 .../data-table-view/src/dbp-data-table-view-demo.js |  8 +++++---
 ...dbp-knowledge-base-web-page-element-view-demo.js |  2 +-
 packages/matomo/assets/index.html.ejs               |  2 +-
 packages/matomo/src/dbp-matomo-demo.js              | 13 ++++++++-----
 .../person-profile/src/dbp-person-profile-demo.js   |  2 +-
 .../person-select/src/dbp-person-select-demo.js     |  2 +-
 packages/provider/assets/index.html.ejs             |  4 ++--
 packages/provider/src/dbp-provider-demo.js          |  9 +++++----
 12 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/packages/auth/assets/index.html b/packages/auth/assets/index.html
index e77189cd..746cdf0f 100644
--- a/packages/auth/assets/index.html
+++ b/packages/auth/assets/index.html
@@ -7,7 +7,7 @@
 
 <body>
 
-<dbp-auth-demo lang="de"></dbp-auth-demo>
+<dbp-auth-demo lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-auth-demo>
 
 </body>
 </html>
diff --git a/packages/auth/src/dbp-auth-demo.js b/packages/auth/src/dbp-auth-demo.js
index 3a2913df..6fabd689 100644
--- a/packages/auth/src/dbp-auth-demo.js
+++ b/packages/auth/src/dbp-auth-demo.js
@@ -1,15 +1,17 @@
 import {i18n} from './i18n.js';
-import {html, LitElement} from 'lit-element';
+import {html} from 'lit-element';
 import {ScopedElementsMixin} from '@open-wc/scoped-elements';
 import {AuthKeycloak} from './auth-keycloak.js';
 import {LoginButton} from './login-button.js';
 import * as commonUtils from '@dbp-toolkit/common/utils';
 import {name as pkgName} from './../package.json';
+import DBPLitElement from "@dbp-toolkit/common/dbp-lit-element";
 
-class AuthDemo extends ScopedElementsMixin(LitElement) {
+class AuthDemo extends ScopedElementsMixin(DBPLitElement) {
     constructor() {
         super();
         this.lang = 'de';
+        this.entryPointUrl = '';
     }
 
     static get scopedElements() {
@@ -20,9 +22,10 @@ class AuthDemo extends ScopedElementsMixin(LitElement) {
     }
 
     static get properties() {
-        return {
+        return this.getProperties({
             lang: { type: String },
-        };
+            entryPointUrl: { type: String, attribute: 'entry-point-url' },
+        });
     }
 
     update(changedProperties) {
@@ -91,7 +94,7 @@ class AuthDemo extends ScopedElementsMixin(LitElement) {
                     <h1 class="title">Auth-Demo</h1>
                 </div>
                 <div class="container">
-                    <dbp-auth-keycloak lang="${this.lang}" url="https://auth-dev.tugraz.at/auth" realm="tugraz" client-id="auth-dev-mw-frontend-local" silent-check-sso-redirect-uri="${silentCheckSsoUri}" scope="optional-test-scope" load-person try-login></dbp-auth-keycloak>
+                    <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" url="https://auth-dev.tugraz.at/auth" realm="tugraz" client-id="auth-dev-mw-frontend-local" silent-check-sso-redirect-uri="${silentCheckSsoUri}" scope="optional-test-scope" load-person try-login></dbp-auth-keycloak>
 
                     <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
                 </div>
diff --git a/packages/check-in-place-select/src/dbp-check-in-place-select-demo.js b/packages/check-in-place-select/src/dbp-check-in-place-select-demo.js
index 51e99172..72e983d2 100644
--- a/packages/check-in-place-select/src/dbp-check-in-place-select-demo.js
+++ b/packages/check-in-place-select/src/dbp-check-in-place-select-demo.js
@@ -56,7 +56,7 @@ export class CheckInPlaceSelectDemo extends ScopedElementsMixin(DBPLitElement) {
     getAuthComponentHtml() {
         return this.noAuth ? html`<dbp-login-button lang="${this.lang}" show-image></dbp-login-button>` : html`
             <div class="container">
-                <dbp-auth-keycloak lang="${this.lang}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
+                <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
                                    url="https://auth-dev.tugraz.at/auth" realm="tugraz"
                                    client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
                 <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
diff --git a/packages/data-table-view/assets/index.html b/packages/data-table-view/assets/index.html
index 094eee25..bd116466 100644
--- a/packages/data-table-view/assets/index.html
+++ b/packages/data-table-view/assets/index.html
@@ -15,6 +15,6 @@
 
 <body>
 
-<dbp-data-table-view-demo lang="de"></dbp-data-table-view-demo>
+<dbp-data-table-view-demo lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-data-table-view-demo>
 </body>
 </html>
diff --git a/packages/data-table-view/src/dbp-data-table-view-demo.js b/packages/data-table-view/src/dbp-data-table-view-demo.js
index 810e968c..f9c1c255 100644
--- a/packages/data-table-view/src/dbp-data-table-view-demo.js
+++ b/packages/data-table-view/src/dbp-data-table-view-demo.js
@@ -10,6 +10,7 @@ export class DataTableViewDemo extends ScopedElementsMixin(LitElement) {
     constructor() {
         super();
         this.lang = 'de';
+        this.entryPointUrl = '';
         this.noAuth = false;
     }
 
@@ -22,10 +23,11 @@ export class DataTableViewDemo extends ScopedElementsMixin(LitElement) {
     }
 
     static get properties() {
-        return {
+        return this.getProperties({
             lang: { type: String },
+            entryPointUrl: { type: String, attribute: 'entry-point-url' },
             noAuth: { type: Boolean, attribute: 'no-auth' },
-        };
+        });
     }
 
     connectedCallback() {
@@ -137,7 +139,7 @@ export class DataTableViewDemo extends ScopedElementsMixin(LitElement) {
     getAuthComponentHtml() {
         return this.noAuth ? html`<dbp-login-button lang="${this.lang}" show-image></dbp-login-button>` : html`
             <div class="container">
-                <dbp-auth-keycloak lang="${this.lang}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
+                <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
                                    url="https://auth-dev.tugraz.at/auth" realm="tugraz"
                                    client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
                 <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
diff --git a/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js b/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js
index 055824d2..7dc94391 100644
--- a/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js
+++ b/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js
@@ -70,7 +70,7 @@ export class KnowledgeBaseWebPageElementViewDemo extends ScopedElementsMixin(DBP
     getAuthComponentHtml() {
         return this.noAuth ? html`<dbp-login-button lang="${this.lang}" show-image></dbp-login-button>` : html`
             <div class="container">
-                <dbp-auth-keycloak lang="${this.lang}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
+                <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
                                    url="https://auth-dev.tugraz.at/auth" realm="tugraz"
                                    client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
                 <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
diff --git a/packages/matomo/assets/index.html.ejs b/packages/matomo/assets/index.html.ejs
index 580ad863..4b5cf90d 100644
--- a/packages/matomo/assets/index.html.ejs
+++ b/packages/matomo/assets/index.html.ejs
@@ -7,7 +7,7 @@
 
 <body>
 
-<dbp-matomo-demo lang="de" matomo-url="<%= matomoUrl %>" matomo-site-id="<%= matomoSiteId %>"></dbp-matomo-demo>
+<dbp-matomo-demo lang="de" entry-point-url="http://127.0.0.1:8000" matomo-url="<%= matomoUrl %>" matomo-site-id="<%= matomoSiteId %>"></dbp-matomo-demo>
 
 <p>version: <span style="color: white; background-color: black;"><%= buildInfo.info %></span></p>
 <p>Matomo: url: <%= matomoUrl %>, site-id: <%= matomoSiteId %></p>
diff --git a/packages/matomo/src/dbp-matomo-demo.js b/packages/matomo/src/dbp-matomo-demo.js
index 9e7e82e9..dbe1ed35 100644
--- a/packages/matomo/src/dbp-matomo-demo.js
+++ b/packages/matomo/src/dbp-matomo-demo.js
@@ -1,17 +1,19 @@
 import {i18n} from './i18n.js';
-import {css, html, LitElement} from 'lit-element';
+import {css, html} from 'lit-element';
 import {ScopedElementsMixin} from '@open-wc/scoped-elements';
 import {AuthKeycloak, LoginButton} from '@dbp-toolkit/auth';
 import * as commonUtils from '@dbp-toolkit/common/utils';
 import * as commonStyles from '@dbp-toolkit/common/styles';
 import {MatomoElement} from './matomo';
+import DBPLitElement from "@dbp-toolkit/common/dbp-lit-element";
 
 
-export class MatomoDemo extends ScopedElementsMixin(LitElement) {
+export class MatomoDemo extends ScopedElementsMixin(DBPLitElement) {
 
     constructor() {
         super();
         this.lang = 'de';
+        this.entryPointUrl = '';
         this.matomoUrl = '';
         this.matomoSiteId = -1;
         this.noAuth = false;
@@ -26,12 +28,13 @@ export class MatomoDemo extends ScopedElementsMixin(LitElement) {
     }
 
     static get properties() {
-        return {
+        return this.getProperties({
             lang: { type: String },
+            entryPointUrl: { type: String, attribute: 'entry-point-url' },
             matomoUrl: { type: String, attribute: "matomo-url" },
             matomoSiteId: { type: Number, attribute: "matomo-site-id" },
             noAuth: { type: Boolean, attribute: 'no-auth' },
-        };
+        });
     }
 
     connectedCallback() {
@@ -67,7 +70,7 @@ export class MatomoDemo extends ScopedElementsMixin(LitElement) {
     getAuthComponentHtml() {
         return this.noAuth ? html`<dbp-login-button lang="${this.lang}" show-image></dbp-login-button>` : html`
             <div class="container">
-                <dbp-auth-keycloak lang="${this.lang}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
+                <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
                                    url="https://auth-dev.tugraz.at/auth" realm="tugraz"
                                    client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
                 <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
diff --git a/packages/person-profile/src/dbp-person-profile-demo.js b/packages/person-profile/src/dbp-person-profile-demo.js
index acff50f9..26600fa3 100644
--- a/packages/person-profile/src/dbp-person-profile-demo.js
+++ b/packages/person-profile/src/dbp-person-profile-demo.js
@@ -72,7 +72,7 @@ export class PersonProfileDemo extends ScopedElementsMixin(DBPLitElement) {
     getAuthComponentHtml() {
         return this.noAuth ? html`<dbp-login-button lang="${this.lang}" show-image></dbp-login-button>` : html`
             <div class="container">
-                <dbp-auth-keycloak lang="${this.lang}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
+                <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
                                    url="https://auth-dev.tugraz.at/auth" realm="tugraz"
                                    client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
                 <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
diff --git a/packages/person-select/src/dbp-person-select-demo.js b/packages/person-select/src/dbp-person-select-demo.js
index 564b29ac..e53de667 100644
--- a/packages/person-select/src/dbp-person-select-demo.js
+++ b/packages/person-select/src/dbp-person-select-demo.js
@@ -56,7 +56,7 @@ export class PersonSelectDemo extends ScopedElementsMixin(DBPLitElement) {
     getAuthComponentHtml() {
         return this.noAuth ? html`<dbp-login-button lang="${this.lang}" show-image></dbp-login-button>` : html`
             <div class="container">
-                <dbp-auth-keycloak lang="${this.lang}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
+                <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" silent-check-sso-redirect-uri="/dist/silent-check-sso.html"
                                    url="https://auth-dev.tugraz.at/auth" realm="tugraz"
                                    client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
                 <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
diff --git a/packages/provider/assets/index.html.ejs b/packages/provider/assets/index.html.ejs
index 3d35a5f6..4140474d 100644
--- a/packages/provider/assets/index.html.ejs
+++ b/packages/provider/assets/index.html.ejs
@@ -19,8 +19,8 @@
 </head>
 
 <body>
-    <dbp-provider id="root" root="1" availability="global" lang="de">
-        <dbp-provider-demo id="provider-demo" subscribe="lang:lang"></dbp-provider-demo>
+    <dbp-provider id="root" root="1" availability="global" lang="de" entry-point-url="http://127.0.0.1:8000">
+        <dbp-provider-demo id="provider-demo" subscribe="lang:lang:entry-point-url:entry-point-url"></dbp-provider-demo>
     </dbp-provider>
     <p>version: <span style="color: white; background-color: black;"><%= buildInfo.info %></span></p>
 </body>
diff --git a/packages/provider/src/dbp-provider-demo.js b/packages/provider/src/dbp-provider-demo.js
index 10a482fb..d7681944 100644
--- a/packages/provider/src/dbp-provider-demo.js
+++ b/packages/provider/src/dbp-provider-demo.js
@@ -77,7 +77,7 @@ class ProviderDemo extends ScopedElementsMixin(DBPLitElement) {
                     <h1 class="title">${i18n.t('demo.provider')}-Demo</h1>
                 </div>
                 <div class="container">
-                    <dbp-auth-keycloak lang="${this.lang}" url="https://auth-dev.tugraz.at/auth" realm="tugraz" client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                    <dbp-auth-keycloak lang="${this.lang}" entry-point-url="${this.entryPointUrl}" url="https://auth-dev.tugraz.at/auth" realm="tugraz" client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
                     <dbp-login-button lang="${this.lang}" show-image></dbp-login-button>
                     <dbp-language-select></dbp-language-select>
                 </div>
@@ -124,6 +124,7 @@ class DemoConsumer extends DBPLitElement {
         super();
 
         this.lang = 'de';
+        this.entryPointUrl = '';
         // default values
         this.foo = 100;
         this.bar = 900;
@@ -143,15 +144,15 @@ class DemoConsumer extends DBPLitElement {
     }
 
     static get properties() {
-        return {
-            ...super.properties,
+        return this.getProperties({
             lang: { type: String },
+            entryPointUrl: { type: String, attribute: 'entry-point-url' },
             foo: { type: String },
             bar: { type: String },
             gong: { type: String },
             borderColor: { type: String, attribute: 'border-color' },
             ping: { type: String }
-        };
+        });
     }
 
     attributeChangedCallback(name, oldValue, newValue) {
-- 
GitLab