From 3520e762320b4b129880794988c8989a8161524e Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Thu, 7 Oct 2021 12:05:32 +0200
Subject: [PATCH] auth-keycloak: remove the load-person attribute

We now enable it by default for everyone. The plan is to load the API
user instead and not the person as a next step. This api should work
even for users that don't have a person associated.
---
 packages/app-shell/assets/index.html                       | 2 +-
 packages/app-shell/src/app-shell.js                        | 2 +-
 packages/auth/README.md                                    | 5 +----
 packages/auth/src/auth-keycloak.js                         | 7 ++-----
 packages/auth/src/dbp-auth-demo.js                         | 2 +-
 .../src/dbp-check-in-place-select-demo.js                  | 2 +-
 packages/common/dbp-common-demo.js                         | 2 +-
 packages/data-table-view/src/dbp-data-table-view-demo.js   | 2 +-
 .../src/dbp-knowledge-base-web-page-element-view-demo.js   | 2 +-
 packages/matomo/src/dbp-matomo-demo.js                     | 2 +-
 .../src/dbp-organization-select-demo.js                    | 2 +-
 packages/person-profile/src/dbp-person-profile-demo.js     | 2 +-
 packages/person-select/src/dbp-person-select-demo.js       | 2 +-
 packages/provider/src/dbp-provider-demo.js                 | 2 +-
 14 files changed, 15 insertions(+), 21 deletions(-)

diff --git a/packages/app-shell/assets/index.html b/packages/app-shell/assets/index.html
index 9402827b..f88f99ea 100644
--- a/packages/app-shell/assets/index.html
+++ b/packages/app-shell/assets/index.html
@@ -21,7 +21,7 @@
 
 <body>
 
-<dbp-app-shell auth requested-login-status keycloak-config='{"url": "https://auth-dev.tugraz.at/auth", "realm": "tugraz-vpu", "clientId": "auth-dev-mw-frontend-local", "silentCheckSsoRedirectUri": "/silent-check-sso.html"}' src="/example.topic.metadata.json"></dbp-app-shell>
+<dbp-app-shell auth requested-login-status entry-point-url="http://127.0.0.1:8000" keycloak-config='{"url": "https://auth-dev.tugraz.at/auth", "realm": "tugraz-vpu", "clientId": "auth-dev-mw-frontend-local", "silentCheckSsoRedirectUri": "/silent-check-sso.html"}' src="/example.topic.metadata.json"></dbp-app-shell>
 
 </body>
 </html>
\ No newline at end of file
diff --git a/packages/app-shell/src/app-shell.js b/packages/app-shell/src/app-shell.js
index dca5dc2d..5014ccad 100644
--- a/packages/app-shell/src/app-shell.js
+++ b/packages/app-shell/src/app-shell.js
@@ -878,7 +878,7 @@ export class AppShell extends ScopedElementsMixin(DBPLitElement) {
 
         return html`
             <slot class="${slotClassMap}"></slot>
-            <dbp-auth-keycloak subscribe="requested-login-status" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" url="${kc.url}" realm="${kc.realm}" client-id="${kc.clientId}" silent-check-sso-redirect-uri="${kc.silentCheckSsoRedirectUri || ''}" scope="${kc.scope || ''}"  idp-hint="${kc.idpHint || ''}" load-person ?force-login="${kc.forceLogin}" ?try-login="${!kc.forceLogin}"></dbp-auth-keycloak>
+            <dbp-auth-keycloak subscribe="requested-login-status" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" url="${kc.url}" realm="${kc.realm}" client-id="${kc.clientId}" silent-check-sso-redirect-uri="${kc.silentCheckSsoRedirectUri || ''}" scope="${kc.scope || ''}"  idp-hint="${kc.idpHint || ''}" ?force-login="${kc.forceLogin}" ?try-login="${!kc.forceLogin}"></dbp-auth-keycloak>
             <dbp-matomo subscribe="auth,analytics-event" endpoint="${this.matomoUrl}" site-id="${this.matomoSiteId}" git-info="${this.gitInfo}"></dbp-matomo>
             <div class="${mainClassMap}">
                 <div id="main">
diff --git a/packages/auth/README.md b/packages/auth/README.md
index f3fdc7e7..7b082516 100644
--- a/packages/auth/README.md
+++ b/packages/auth/README.md
@@ -30,9 +30,6 @@ for more explanation.
 
 - `lang` (optional, default: `de`): set to `de` or `en` for German or English
     - example `<dbp-auth-keycloak lang="de" </dbp-auth-keycloak>`
-- `load-person` (optional, default: off): if enabled the logged in user will also be loaded as `Person`
-   in the `auth.person` attribute (see below)
-    - example `<dbp-auth-keycloak load-person></dbp-auth-keycloak>`
 - `force-login` (optional, default: off): if enabled a login will be forced, there never will be a login button
     - example `<dbp-auth-keycloak force-login></dbp-auth-keycloak>`
 - `try-login` (optional, default: off): if enabled the a login will happen if the user is already logged in
@@ -59,7 +56,7 @@ The component emits a `dbp-set-property` event for the attribute `auth`:
 - `auth.token`: Keycloak token to send with your requests
 - `auth.user-full-name`: Full name of the user
 - `auth.person-id`: Person identifier of the user
-- `auth.person`: Person json object of the user (optional, enable by setting the `load-person` attribute)
+- `auth.person`: Person json object of the user
 
 
 ## Login Button
diff --git a/packages/auth/src/auth-keycloak.js b/packages/auth/src/auth-keycloak.js
index ddca6cb5..ab7a78b2 100644
--- a/packages/auth/src/auth-keycloak.js
+++ b/packages/auth/src/auth-keycloak.js
@@ -15,13 +15,12 @@ import {AdapterLitElement} from "@dbp-toolkit/provider/src/adapter-lit-element";
  *   auth.token: Keycloak token to send with your requests
  *   auth.user-full-name: Full name of the user
  *   auth.person-id: Person identifier of the user
- *   auth.person: Person json object of the user (optional, enable by setting the `load-person` attribute)
+ *   auth.person: Person json object of the user
  */
 export class AuthKeycloak extends AdapterLitElement {
     constructor() {
         super();
         this.forceLogin = false;
-        this.loadPerson = false;
         this.token = "";
         this.subject = "";
         this.name = "";
@@ -117,8 +116,7 @@ export class AuthKeycloak extends AdapterLitElement {
         }
 
         const that = this;
-
-        if (newPerson && this.loadPerson) {
+        if (newPerson) {
             JSONLD.getInstance(this.entryPointUrl).then((jsonld) => {
                 try {
                     // find the correct api url for the current person
@@ -180,7 +178,6 @@ export class AuthKeycloak extends AdapterLitElement {
             lang: { type: String },
             forceLogin: { type: Boolean, attribute: 'force-login' },
             tryLogin: { type: Boolean, attribute: 'try-login' },
-            loadPerson: { type: Boolean, attribute: 'load-person' },
             entryPointUrl: { type: String, attribute: 'entry-point-url' },
             name: { type: String, attribute: false },
             token: { type: String, attribute: false },
diff --git a/packages/auth/src/dbp-auth-demo.js b/packages/auth/src/dbp-auth-demo.js
index cbe64328..fee38c5c 100644
--- a/packages/auth/src/dbp-auth-demo.js
+++ b/packages/auth/src/dbp-auth-demo.js
@@ -84,7 +84,7 @@ export class DbpAuthDemo extends ScopedElementsMixin(DBPLitElement) {
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" silent-check-sso-redirect-uri="/silent-check-sso.html"
                                    url="https://auth-dev.tugraz.at/auth" realm="tugraz-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></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 8e2a889b..7f63b6d9 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
@@ -55,7 +55,7 @@ export class CheckInPlaceSelectDemo extends ScopedElementsMixin(DBPLitElement) {
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" 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-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></dbp-login-button>
             </div>
         `;
diff --git a/packages/common/dbp-common-demo.js b/packages/common/dbp-common-demo.js
index 9a56ef03..cd963272 100644
--- a/packages/common/dbp-common-demo.js
+++ b/packages/common/dbp-common-demo.js
@@ -89,7 +89,7 @@ export class DbpCommonDemo extends ScopedElementsMixin(LitElement) {
     getAuthComponentHtml() {
         return this.noAuth ? html`` : html`
             <div class="container">
-                <dbp-auth lang="${this.lang}" load-person></dbp-auth>
+                <dbp-auth lang="${this.lang}"></dbp-auth>
             </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 5c2056b0..7b0bf912 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
@@ -144,7 +144,7 @@ export class DataTableViewDemo extends ScopedElementsMixin(DBPLitElement) {
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" 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-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></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 109bd9a7..60f1e05a 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
@@ -72,7 +72,7 @@ export class KnowledgeBaseWebPageElementViewDemo extends ScopedElementsMixin(DBP
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" 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-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></dbp-login-button>
             </div>
         `;
diff --git a/packages/matomo/src/dbp-matomo-demo.js b/packages/matomo/src/dbp-matomo-demo.js
index bfb9c08d..eced8a94 100644
--- a/packages/matomo/src/dbp-matomo-demo.js
+++ b/packages/matomo/src/dbp-matomo-demo.js
@@ -76,7 +76,7 @@ export class MatomoDemo extends ScopedElementsMixin(DBPLitElement) {
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" 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-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></dbp-login-button>
             </div>
         `;
diff --git a/packages/organization-select/src/dbp-organization-select-demo.js b/packages/organization-select/src/dbp-organization-select-demo.js
index 45b8b547..e9146094 100644
--- a/packages/organization-select/src/dbp-organization-select-demo.js
+++ b/packages/organization-select/src/dbp-organization-select-demo.js
@@ -57,7 +57,7 @@ export class OrganizationSelectDemo extends ScopedElementsMixin(DBPLitElement) {
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" 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-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></dbp-login-button>
             </div>
         `;
diff --git a/packages/person-profile/src/dbp-person-profile-demo.js b/packages/person-profile/src/dbp-person-profile-demo.js
index 64aaa9f6..2482af9e 100644
--- a/packages/person-profile/src/dbp-person-profile-demo.js
+++ b/packages/person-profile/src/dbp-person-profile-demo.js
@@ -93,7 +93,7 @@ export class PersonProfileDemo extends ScopedElementsMixin(DBPLitElement) {
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" 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-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></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 ae4f00ab..c63d6892 100644
--- a/packages/person-select/src/dbp-person-select-demo.js
+++ b/packages/person-select/src/dbp-person-select-demo.js
@@ -57,7 +57,7 @@ export class PersonSelectDemo extends ScopedElementsMixin(DBPLitElement) {
             <div class="container">
                 <dbp-auth-keycloak subscribe="requested-login-status" 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-vpu"
-                                   client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                                   client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                 <dbp-login-button subscribe="auth" lang="${this.lang}"></dbp-login-button>
             </div>
         `;
diff --git a/packages/provider/src/dbp-provider-demo.js b/packages/provider/src/dbp-provider-demo.js
index 7c1b9306..447832f4 100644
--- a/packages/provider/src/dbp-provider-demo.js
+++ b/packages/provider/src/dbp-provider-demo.js
@@ -75,7 +75,7 @@ class ProviderDemo extends ScopedElementsMixin(DBPLitElement) {
                     <h1 class="title">${i18n.t('demo.provider')}-Demo</h1>
                 </div>
                 <div class="container">
-                    <dbp-auth-keycloak subscribe="requested-login-status" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" url="https://auth-dev.tugraz.at/auth" realm="tugraz-vpu" client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak>
+                    <dbp-auth-keycloak subscribe="requested-login-status" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" url="https://auth-dev.tugraz.at/auth" realm="tugraz-vpu" client-id="auth-dev-mw-frontend-local" try-login></dbp-auth-keycloak>
                     <dbp-login-button subscribe="auth" lang="${this.lang}"></dbp-login-button>
                     <dbp-language-select></dbp-language-select>
                 </div>
-- 
GitLab