From e6035c46b2a029c152b02aa265149bf6cdfeebc1 Mon Sep 17 00:00:00 2001
From: Tamara Steinwender <tamara.steinwender@tugraz.at>
Date: Tue, 15 Dec 2020 16:10:48 +0100
Subject: [PATCH] Fix double auth in demo app

---
 ...dbp-check-in-place-select-demo-activity.js | 57 +++++++++++++++++++
 demo/src/dbp-data-table-view-demo-activity.js |  2 +-
 ...ase-web-page-element-view-demo-activity.js |  2 +-
 demo/src/dbp-matomo-demo-activity.js          |  4 +-
 demo/src/dbp-person-profile-demo-activity.js  |  2 +-
 demo/src/dbp-person-select-demo-activity.js   |  2 +-
 .../src/dbp-check-in-place-select-demo.js     |  9 +--
 .../src/dbp-data-table-view-demo.js           |  8 ++-
 ...owledge-base-web-page-element-view-demo.js |  9 +--
 packages/matomo/src/dbp-matomo-demo.js        | 17 +++++-
 .../src/dbp-person-profile-demo.js            | 14 ++---
 .../src/dbp-person-select-demo.js             |  6 +-
 12 files changed, 104 insertions(+), 28 deletions(-)
 create mode 100644 demo/src/dbp-check-in-place-select-demo-activity.js

diff --git a/demo/src/dbp-check-in-place-select-demo-activity.js b/demo/src/dbp-check-in-place-select-demo-activity.js
new file mode 100644
index 00000000..00d009a1
--- /dev/null
+++ b/demo/src/dbp-check-in-place-select-demo-activity.js
@@ -0,0 +1,57 @@
+import {css, html, LitElement} from 'lit-element';
+import {ScopedElementsMixin} from '@open-wc/scoped-elements';
+import {CheckInPlaceSelectDemo} from '@dbp-toolkit/check-in-place-select/src/dbp-check-in-place-select-demo';
+import * as commonUtils from '@dbp-toolkit/common/utils';
+import * as commonStyles from '@dbp-toolkit/common/styles';
+import {unsafeHTML} from 'lit-html/directives/unsafe-html.js';
+import readme from '@dbp-toolkit/check-in-place-select/README.md';
+import highlightCSSPath from 'highlight.js/styles/default.css';
+import * as demoStyles from "./styles";
+
+class DbpActivityNameDemoActivity extends ScopedElementsMixin(LitElement) {
+    static get scopedElements() {
+        return {
+            'dbp-check-in-place-select-demo': CheckInPlaceSelectDemo,
+        };
+    }
+
+    static get properties() {
+        return {
+        };
+    }
+
+    connectedCallback() {
+        super.connectedCallback();
+
+        this.updateComplete.then(()=>{
+        });
+    }
+
+    static get styles() {
+        // language=css
+        return [
+            commonStyles.getThemeCSS(),
+            commonStyles.getGeneralCSS(),
+            demoStyles.getDemoCSS(),
+            css`
+            h1.title {margin-bottom: 1em;}
+            div.container {margin-bottom: 1.5em;}
+
+            #demo{
+                display: block;
+                padding-top: 50px;
+            }
+            
+            `
+        ];
+    }
+
+    render() {
+        return html`                
+                ${unsafeHTML(readme)}
+                <dbp-check-in-place-select-demo id="demo" lang="en" no-auth></dbp-check-in-place-select-demo>
+        `;
+    }
+}
+
+commonUtils.defineCustomElement('dbp-check-in-place-select-demo-activity', DbpActivityNameDemoActivity);
diff --git a/demo/src/dbp-data-table-view-demo-activity.js b/demo/src/dbp-data-table-view-demo-activity.js
index cbde21a7..8d723ef2 100644
--- a/demo/src/dbp-data-table-view-demo-activity.js
+++ b/demo/src/dbp-data-table-view-demo-activity.js
@@ -50,7 +50,7 @@ class DbpActivityNameDemoActivity extends ScopedElementsMixin(LitElement) { //TO
         return html`
 
                 ${unsafeHTML(readme)}
-                <dbp-data-table-view-demo id="demo" lang="en"></dbp-data-table-view-demo>
+                <dbp-data-table-view-demo id="demo" lang="en" no-auth></dbp-data-table-view-demo>
         `;
     }
 }
diff --git a/demo/src/dbp-knowledge-base-web-page-element-view-demo-activity.js b/demo/src/dbp-knowledge-base-web-page-element-view-demo-activity.js
index 26e7aa9c..f7549313 100644
--- a/demo/src/dbp-knowledge-base-web-page-element-view-demo-activity.js
+++ b/demo/src/dbp-knowledge-base-web-page-element-view-demo-activity.js
@@ -49,7 +49,7 @@ class KnowledgeBaseWebPageElementViewDemoActivity extends ScopedElementsMixin(Li
     render() {
         return html`
                 ${unsafeHTML(readme)}
-                <dbp-knowledge-base-web-page-element-view-demo id="demo" lang="en"></dbp-knowledge-base-web-page-element-view-demo>
+                <dbp-knowledge-base-web-page-element-view-demo id="demo" lang="en" no-auth></dbp-knowledge-base-web-page-element-view-demo>
         `;
     }
 }
diff --git a/demo/src/dbp-matomo-demo-activity.js b/demo/src/dbp-matomo-demo-activity.js
index 4a994895..07a3b648 100644
--- a/demo/src/dbp-matomo-demo-activity.js
+++ b/demo/src/dbp-matomo-demo-activity.js
@@ -48,8 +48,8 @@ class DbpMatomoDemoActivity extends ScopedElementsMixin(LitElement) {
 
     render() {
         return html`
-               ${unsafeHTML(readme)}
-                <dbp-matomo-demo id="demo" lang="en"></dbp-matomo-demo>
+               ${unsafeHTML(readme)} 
+                <dbp-matomo-demo id="demo" lang="en" no-auth></dbp-matomo-demo>
         `;
     }
 }
diff --git a/demo/src/dbp-person-profile-demo-activity.js b/demo/src/dbp-person-profile-demo-activity.js
index dcb570ac..715a1ac5 100644
--- a/demo/src/dbp-person-profile-demo-activity.js
+++ b/demo/src/dbp-person-profile-demo-activity.js
@@ -49,7 +49,7 @@ class DbpPersonProfileDemoActivity extends ScopedElementsMixin(LitElement) {
     render() {
         return html`
                 ${unsafeHTML(readme)}
-                <dbp-person-profile-demo id="demo" lang="en"></dbp-person-profile-demo>
+                <dbp-person-profile-demo id="demo" lang="en" no-auth></dbp-person-profile-demo>
 
         `;
     }
diff --git a/demo/src/dbp-person-select-demo-activity.js b/demo/src/dbp-person-select-demo-activity.js
index a0bb3dc3..41ffb9bb 100644
--- a/demo/src/dbp-person-select-demo-activity.js
+++ b/demo/src/dbp-person-select-demo-activity.js
@@ -49,7 +49,7 @@ class DbpPersonSelectDemoActivity extends ScopedElementsMixin(LitElement) {
     render() {
         return html`
             ${unsafeHTML(readme)}
-            <dbp-person-select-demo id="demo" lang="en"></dbp-person-select-demo>
+            <dbp-person-select-demo id="demo" lang="en" no-auth></dbp-person-select-demo>
         `;
     }
 }
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 8ecb7ab9..abcf3330 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
@@ -6,7 +6,7 @@ import {AuthKeycloak, LoginButton} from '@dbp-toolkit/auth';
 import * as commonUtils from '@dbp-toolkit/common/utils';
 import * as commonStyles from '@dbp-toolkit/common/styles';
 
-class CheckInPlaceSelectDemo extends ScopedElementsMixin(LitElement) {
+export class CheckInPlaceSelectDemo extends ScopedElementsMixin(LitElement) {
     constructor() {
         super();
         this.lang = 'de';
@@ -15,7 +15,6 @@ class CheckInPlaceSelectDemo extends ScopedElementsMixin(LitElement) {
 
     static get scopedElements() {
         return {
-          'dbp-auth-keycloak': AuthKeycloak,
           'dbp-login-button': LoginButton,
           'dbp-check-in-place-select': CheckInPlaceSelect,
         };
@@ -49,9 +48,11 @@ class CheckInPlaceSelectDemo extends ScopedElementsMixin(LitElement) {
     }
 
     getAuthComponentHtml() {
-        return this.noAuth ? html`` : html`
+        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}" 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}" 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>
             </div>
         `;
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 22260e9c..810e968c 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
@@ -135,9 +135,11 @@ export class DataTableViewDemo extends ScopedElementsMixin(LitElement) {
     }
 
     getAuthComponentHtml() {
-        return this.noAuth ? html`` : html`
-            <div class="content">
-                <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>
+        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"
+                                   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>
             </div>
         `;
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 809ccbe0..b7ca2271 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
@@ -63,14 +63,15 @@ export class KnowledgeBaseWebPageElementViewDemo extends ScopedElementsMixin(Lit
     }
 
     getAuthComponentHtml() {
-        return this.noAuth ? html`` : html`
-            <div class="content">
-                <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>
+        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"
+                                   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>
             </div>
         `;
     }
-
     render() {
         return html`
             <section class="section">
diff --git a/packages/matomo/src/dbp-matomo-demo.js b/packages/matomo/src/dbp-matomo-demo.js
index 3f4f9c27..9e7e82e9 100644
--- a/packages/matomo/src/dbp-matomo-demo.js
+++ b/packages/matomo/src/dbp-matomo-demo.js
@@ -14,6 +14,7 @@ export class MatomoDemo extends ScopedElementsMixin(LitElement) {
         this.lang = 'de';
         this.matomoUrl = '';
         this.matomoSiteId = -1;
+        this.noAuth = false;
     }
 
     static get scopedElements() {
@@ -29,6 +30,7 @@ export class MatomoDemo extends ScopedElementsMixin(LitElement) {
             lang: { type: String },
             matomoUrl: { type: String, attribute: "matomo-url" },
             matomoSiteId: { type: Number, attribute: "matomo-site-id" },
+            noAuth: { type: Boolean, attribute: 'no-auth' },
         };
     }
 
@@ -62,15 +64,26 @@ 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"
+                                   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>
+            </div>
+        `;
+    }
+
     render() {
+
         return html`
             <section class="section">
                 <div class="container">
                     <h1 class="title">Matomo-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-login-button lang="${this.lang}" show-image></dbp-login-button>
+                    ${ this.getAuthComponentHtml() }
                     <dbp-matomo endpoint="${this.matomoUrl}" site-id="${this.matomoSiteId}"></dbp-matomo>
                 </div>
                 <div class="container">
diff --git a/packages/person-profile/src/dbp-person-profile-demo.js b/packages/person-profile/src/dbp-person-profile-demo.js
index 3ca67f51..40369cff 100644
--- a/packages/person-profile/src/dbp-person-profile-demo.js
+++ b/packages/person-profile/src/dbp-person-profile-demo.js
@@ -66,13 +66,13 @@ export class PersonProfileDemo extends ScopedElementsMixin(DBPLitElement) {
     }
 
     getAuthComponentHtml() {
-        return this.noAuth ? html`` : html`
-            <header>
-                <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-login-button lang="${this.lang}" show-image></dbp-login-button>
-                </div>
-            </header>
+        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"
+                                   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>
+            </div>
         `;
     }
 
diff --git a/packages/person-select/src/dbp-person-select-demo.js b/packages/person-select/src/dbp-person-select-demo.js
index 99a87292..ff61f2a0 100644
--- a/packages/person-select/src/dbp-person-select-demo.js
+++ b/packages/person-select/src/dbp-person-select-demo.js
@@ -49,9 +49,11 @@ export class PersonSelectDemo extends ScopedElementsMixin(LitElement) {
     }
 
     getAuthComponentHtml() {
-        return this.noAuth ? html`` : html`
+        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}" 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}" 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>
             </div>
         `;
-- 
GitLab