From 773788aa83113d96afed81efe8c73332a9dd7bcb Mon Sep 17 00:00:00 2001
From: Patrizio Bekerle <patrizio@bekerle.com>
Date: Tue, 2 Feb 2021 07:38:57 +0100
Subject: [PATCH] Use auth object property

---
 .../dbp-official-signature-pdf-upload.metadata.json  |  2 +-
 .../dbp-qualified-signature-pdf-upload.metadata.json |  2 +-
 assets/dbp-signature-verification-full.metadata.json |  2 +-
 assets/dbp-signature-verification.metadata.json      |  2 +-
 assets/dbp-signature.html.ejs                        |  1 +
 src/dbp-qualified-signature-pdf-upload.js            |  2 +-
 src/dbp-signature-lit-element.js                     | 12 ++++++++++--
 7 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/assets/dbp-official-signature-pdf-upload.metadata.json b/assets/dbp-official-signature-pdf-upload.metadata.json
index 7a487d5..35abc31 100644
--- a/assets/dbp-official-signature-pdf-upload.metadata.json
+++ b/assets/dbp-official-signature-pdf-upload.metadata.json
@@ -14,5 +14,5 @@
     "de": "Erlaubt das Hochladen von PDF-Dokumenten, um sie mit einer Amtssignatur zu versehen",
     "en": "Allows upload of PDF-documents to officially sign them"
   },
-  "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker"
+  "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker,auth:auth"
 }
diff --git a/assets/dbp-qualified-signature-pdf-upload.metadata.json b/assets/dbp-qualified-signature-pdf-upload.metadata.json
index ba42a8c..9b5f6f4 100644
--- a/assets/dbp-qualified-signature-pdf-upload.metadata.json
+++ b/assets/dbp-qualified-signature-pdf-upload.metadata.json
@@ -14,5 +14,5 @@
     "de": "Erlaubt das Hochladen von PDF-Dokumenten, um sie mit einer persönlichen elektronischen Signatur zu versehen",
     "en": "Allows upload of PDF-documents to personally sign them"
   },
-  "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker"
+  "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker,auth:auth"
 }
diff --git a/assets/dbp-signature-verification-full.metadata.json b/assets/dbp-signature-verification-full.metadata.json
index 4005951..672fc0e 100644
--- a/assets/dbp-signature-verification-full.metadata.json
+++ b/assets/dbp-signature-verification-full.metadata.json
@@ -14,5 +14,5 @@
     "de": "Erlaubt das Verifizieren von signierten PDF-Dokumenten",
     "en": "Allows verification of signed PDF-documents"
   },
-  "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker"
+  "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker,auth:auth"
 }
diff --git a/assets/dbp-signature-verification.metadata.json b/assets/dbp-signature-verification.metadata.json
index 926c192..e8393a0 100644
--- a/assets/dbp-signature-verification.metadata.json
+++ b/assets/dbp-signature-verification.metadata.json
@@ -14,5 +14,5 @@
     "de": "Erlaubt das Verifizieren von signierten PDF-Dokumenten",
     "en": "Allows verification of signed PDF-documents"
   },
-  "subscribe": "lang:lang,entry-point-url:entry-point-url"
+  "subscribe": "lang:lang,entry-point-url:entry-point-url,auth:auth"
 }
diff --git a/assets/dbp-signature.html.ejs b/assets/dbp-signature.html.ejs
index c8d50ad..b73a0ff 100644
--- a/assets/dbp-signature.html.ejs
+++ b/assets/dbp-signature.html.ejs
@@ -63,6 +63,7 @@
               nextcloud-file-url="<%= nextcloudFileURL %>">
     <<%= name %>
         subscribe="lang:lang,entry-point-url:entry-point-url"
+        auth
         src="<%= getUrl(name + '.topic.metadata.json') %>"
         base-path="<%= getUrl('') %>"
         keycloak-config='{"url": "<%= keyCloakBaseURL %>", "realm": "tugraz", "clientId": "<%= keyCloakClientId %>", "silentCheckSsoRedirectUri": "<%= getUrl('silent-check-sso.html') %>"}'
diff --git a/src/dbp-qualified-signature-pdf-upload.js b/src/dbp-qualified-signature-pdf-upload.js
index 6b39cc4..04625ec 100644
--- a/src/dbp-qualified-signature-pdf-upload.js
+++ b/src/dbp-qualified-signature-pdf-upload.js
@@ -318,7 +318,7 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
             fetch(apiUrl, {
                 headers: {
                     'Content-Type': 'application/ld+json',
-                    'Authorization': 'Bearer ' + window.DBPAuthToken,
+                    'Authorization': 'Bearer ' + that.auth.token,
                 },
             })
                 .then(result => {
diff --git a/src/dbp-signature-lit-element.js b/src/dbp-signature-lit-element.js
index c988210..2bf3edf 100644
--- a/src/dbp-signature-lit-element.js
+++ b/src/dbp-signature-lit-element.js
@@ -5,6 +5,14 @@ import {AdapterLitElement} from "@dbp-toolkit/provider/src/adapter-lit-element";
 export class DBPSignatureBaseLitElement extends AdapterLitElement {
     constructor() {
         super();
+        this.auth = {};
+    }
+
+    static get properties() {
+        return {
+            ...super.properties,
+            auth: { type: Object },
+        };
     }
 
     _(selector) {
@@ -48,7 +56,7 @@ export class DBPSignatureBaseLitElement extends AdapterLitElement {
     isLoading() {
         if (this._loginStatus === "logged-out")
             return false;
-        return (!this.isLoggedIn() && window.DBPAuthToken !== undefined);
+        return (!this.isLoggedIn() && this.auth.token !== undefined);
     }
 }
 
@@ -157,7 +165,7 @@ export default class DBPSignatureLitElement extends DBPSignatureBaseLitElement {
         await fetch(url, {
             method: 'POST',
             headers: {
-                'Authorization': 'Bearer ' + window.DBPAuthToken,
+                'Authorization': 'Bearer ' + this.auth.token,
             },
             body: formData
         })
-- 
GitLab