From 2d44527e4079022b3139f9e25bf65db516336cde Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Mon, 18 Nov 2019 13:22:56 +0100
Subject: [PATCH] Don't hardcode keycloak related urls/config

Fetch it from the common environ
---
 packages/auth/src/vpu-auth.js | 27 +++++++++++++++++++--------
 packages/auth/vendor/common   |  2 +-
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/packages/auth/src/vpu-auth.js b/packages/auth/src/vpu-auth.js
index 03dfa505..1178c2e2 100644
--- a/packages/auth/src/vpu-auth.js
+++ b/packages/auth/src/vpu-auth.js
@@ -1,7 +1,7 @@
 import {i18n} from './i18n.js';
 import {html, css} from 'lit-element';
 import {unsafeHTML} from 'lit-html/directives/unsafe-html.js';
-import JSONLD from 'vpu-common/jsonld'
+import JSONLD from 'vpu-common/jsonld';
 import * as commonUtils from 'vpu-common/utils';
 import * as commonStyles from 'vpu-common/styles';
 import * as events from 'vpu-common/events.js';
@@ -18,10 +18,19 @@ const LoginStatus = Object.freeze({
 });
 
 
-async function importKeycloak() {
-    const keycloakSrc = '//auth-dev.tugraz.at/auth/js/keycloak.min.js';
+/**
+ * Imports the keycloak JS API as if it was a module.
+ *
+ * @param baseUrl {string}
+ */
+async function importKeycloak(baseUrl) {
+    const keycloakSrc = baseUrl + '/js/keycloak.min.js';
     await import(keycloakSrc);
-    return window.Keycloak;
+    if (importKeycloak._keycloakMod !== undefined)
+        return importKeycloak._keycloakMod;
+    importKeycloak._keycloakMod = {Keycloak: window.Keycloak};
+    delete window.Keycloak;
+    return importKeycloak._keycloakMod;
 }
 
 
@@ -150,14 +159,16 @@ class VPUAuth extends VPULitElement {
 
     loadKeycloak() {
         const that = this;
+        const baseURL = commonUtils.setting('keyCloakBaseURL');
+        const realm = commonUtils.setting('keyCloakRealm');
 
         if (!this.keyCloakInitCalled) {
-            importKeycloak().then((Keycloak) => {
+            importKeycloak(baseURL).then((module) => {
                 that.keyCloakInitCalled = true;
 
-                that._keycloak = Keycloak({
-                    url: 'https://auth-dev.tugraz.at/auth',
-                    realm: 'tugraz',
+                that._keycloak = module.Keycloak({
+                    url: baseURL,
+                    realm: realm,
                     clientId: that.clientId,
                 });
 
diff --git a/packages/auth/vendor/common b/packages/auth/vendor/common
index f5502b7a..9ed776cf 160000
--- a/packages/auth/vendor/common
+++ b/packages/auth/vendor/common
@@ -1 +1 @@
-Subproject commit f5502b7a903ddd9bfbf966fafdae9cc3c4a2ed87
+Subproject commit 9ed776cf9d9709cf4839dc6e66c0b7bac3143811
-- 
GitLab