From d1144038a54f213afea3aeb0dfc158dc835846ad Mon Sep 17 00:00:00 2001 From: Alex <apuret@e-biz.fr> Date: Mon, 27 Jul 2020 11:40:14 +0200 Subject: [PATCH] fix: load keycloak config --- plugins/deadlock-extension/src/extension.ts | 25 ++++++++++++------- .../deadlock-extension/src/keycloakManager.js | 9 +++---- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/plugins/deadlock-extension/src/extension.ts b/plugins/deadlock-extension/src/extension.ts index 46d36914..66446abe 100644 --- a/plugins/deadlock-extension/src/extension.ts +++ b/plugins/deadlock-extension/src/extension.ts @@ -5,7 +5,7 @@ import { Uri } from 'vscode'; const marked = require('marked'); import keycloakManager from './keycloakManager'; -import { USER_CHALLENGE_PATH } from './config'; +import { USER_CHALLENGE_PATH, KEYCLOAK_CONFIG_PATH } from './config'; interface UserChallengeConfig { paths: Record<string, string>; @@ -38,12 +38,19 @@ function init() { }); } - keycloakManager.loadKeycloakIfNecessary(() => { - console.log('keycloak is ready'); - if (keycloakManager.getKeycloak() && keycloakManager.getKeycloak().token) { - console.log(keycloakManager.getKeycloak().token); - } - }); + vscode.workspace + .openTextDocument(Uri.parse(KEYCLOAK_CONFIG_PATH)) + .then((keycloakConfig) => { + console.log('config', keycloakConfig); + keycloakConfig = JSON.parse(keycloakConfig.getText()); + console.log('config', keycloakConfig); + keycloakManager.loadKeycloakIfNecessary(keycloakConfig, () => { + if (keycloakManager.getKeycloak() && keycloakManager.getKeycloak().token) { + console.log('token', keycloakManager.getKeycloak().token); + } + }); + }); + } export function activate(context: vscode.ExtensionContext) { @@ -208,8 +215,8 @@ class DeadlockPanel { and only allow scripts that have a specific nonce. --> <meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${ - webview.cspSource - } https:; script-src 'nonce-${nonce}';"> + webview.cspSource + } https:; script-src 'nonce-${nonce}';"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Deadlock</title> diff --git a/plugins/deadlock-extension/src/keycloakManager.js b/plugins/deadlock-extension/src/keycloakManager.js index 0d60dc06..b6c4dbd3 100644 --- a/plugins/deadlock-extension/src/keycloakManager.js +++ b/plugins/deadlock-extension/src/keycloakManager.js @@ -1,5 +1,4 @@ import Keycloak from 'keycloak-js/dist/keycloak'; -import { KEYCLOAK_CONFIG_PATH } from './config'; let keycloak; let isAuthenticated = false; @@ -15,9 +14,9 @@ keycloakManager.resetKeycloak = () => { keycloak = undefined; }; -keycloakManager.loadKeycloakIfNecessary = (cb) => { +keycloakManager.loadKeycloakIfNecessary = (config, cb) => { if (!keycloakManager.getKeycloak()) { - keycloakManager.loadKeycloak().then(() => cb()); + keycloakManager.loadKeycloak(config).then(() => cb()); } else { cb(); } @@ -29,8 +28,8 @@ keycloakManager.logout = () => keycloakManager.getKeycloak().logout(); keycloakManager.getAvatar = () => keycloakManager.getKeycloak().tokenParsed.avatar_url; -keycloakManager.loadKeycloak = () => { - let keycloak = Keycloak(KEYCLOAK_CONFIG_PATH); +keycloakManager.loadKeycloak = (config) => { + let keycloak = Keycloak(config); return new Promise((resolve, reject) => { keycloak.init({ onLoad: 'check-sso' }).success((authenticated) => { if (authenticated) { -- GitLab