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