Skip to content
Snippets Groups Projects
Commit 90c7d496 authored by Reiter, Christoph's avatar Reiter, Christoph :snake:
Browse files

auth: move back to the keycloak package from npm again

Instead of fetching it from the configured keycloak server.

We had this initially, but switched to the server variant to make
sure we are always compatible with the keycloak version.

Now upstream keycloak has deprecated this strategy and in Keycloak 22
the server provided js bundle will be removed.

So switch back to the npm package.
parent 617e2c5d
No related branches found
No related tags found
No related merge requests found
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
"@dbp-toolkit/common": "^0.3.3", "@dbp-toolkit/common": "^0.3.3",
"@open-wc/scoped-elements": "^2.1.0", "@open-wc/scoped-elements": "^2.1.0",
"event-target-shim": "^6.0.0", "event-target-shim": "^6.0.0",
"keycloak-js": "^20.0.1",
"lit": "^2.0.0" "lit": "^2.0.0"
}, },
"scripts": { "scripts": {
......
import {EventTarget} from 'event-target-shim'; // Because EventTarget() doesn't exist on Safari import {EventTarget} from 'event-target-shim'; // Because EventTarget() doesn't exist on Safari
/**
* 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';
// Importing will write it to window so we take it from there
await import(keycloakSrc);
if (importKeycloak._keycloakMod !== undefined) return importKeycloak._keycloakMod;
importKeycloak._keycloakMod = window.Keycloak;
delete window.Keycloak;
return importKeycloak._keycloakMod;
}
const promiseTimeout = function (ms, promise) { const promiseTimeout = function (ms, promise) {
let timeout = new Promise((resolve, reject) => { let timeout = new Promise((resolve, reject) => {
let id = setTimeout(() => { let id = setTimeout(() => {
...@@ -157,9 +142,9 @@ export class KeycloakWrapper extends EventTarget { ...@@ -157,9 +142,9 @@ export class KeycloakWrapper extends EventTarget {
async _ensureInstance() { async _ensureInstance() {
if (this._keycloak !== null) return; if (this._keycloak !== null) return;
const Keycloak = await importKeycloak(this._baseURL); const Keycloak = (await import('keycloak-js')).default;
this._keycloak = Keycloak({ this._keycloak = new Keycloak({
url: this._baseURL, url: this._baseURL,
realm: this._realm, realm: this._realm,
clientId: this._clientId, clientId: this._clientId,
......
...@@ -2663,7 +2663,7 @@ base-64@^1.0.0: ...@@ -2663,7 +2663,7 @@ base-64@^1.0.0:
resolved "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz#09d0f2084e32a3fd08c2475b973788eee6ae8f4a" resolved "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz#09d0f2084e32a3fd08c2475b973788eee6ae8f4a"
integrity sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg== integrity sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==
base64-js@^1.3.1: base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1" version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
...@@ -5418,6 +5418,11 @@ js-sdsl@^4.1.4: ...@@ -5418,6 +5418,11 @@ js-sdsl@^4.1.4:
resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a"
integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==
js-sha256@^0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966"
integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==
js-tokens@^4.0.0: js-tokens@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
...@@ -5593,6 +5598,14 @@ karma@^6.0.0: ...@@ -5593,6 +5598,14 @@ karma@^6.0.0:
ua-parser-js "^0.7.30" ua-parser-js "^0.7.30"
yargs "^16.1.1" yargs "^16.1.1"
keycloak-js@^20.0.1:
version "20.0.1"
resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-20.0.1.tgz#3f73499a6b071d096f82ab74257b1b7429f53c8c"
integrity sha512-YNj0X0mmdLpqjB9W5DTAVDI14CzZs7RFn9T/t/g8Uq80OjaW2zZUis/g73aWwz04S3B6U6Vrg8h1wAMGbx2NQQ==
dependencies:
base64-js "^1.5.1"
js-sha256 "^0.9.0"
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2" version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment