From 15ba49ada0595422142988a4243b679226bb86c5 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio.bekerle@tugraz.at> Date: Wed, 17 Jul 2019 11:55:09 +0200 Subject: [PATCH] Add vpu-auth-keycloak-data-update event --- packages/auth/README.md | 4 ++++ packages/auth/vpu-auth.js | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/auth/README.md b/packages/auth/README.md index 2523a224..7b3824ad 100644 --- a/packages/auth/README.md +++ b/packages/auth/README.md @@ -14,6 +14,10 @@ - `force-login` (optional, default: off): if enabled a login will be forced, there never will be a login button - example `<vpu-auth client-id="my-dev-client-id" force-login></vpu-auth>` +## Events + +TODO + ## Local development ```bash diff --git a/packages/auth/vpu-auth.js b/packages/auth/vpu-auth.js index df2d8693..302c0044 100644 --- a/packages/auth/vpu-auth.js +++ b/packages/auth/vpu-auth.js @@ -29,9 +29,10 @@ class VPUAuth extends LitElement { this.name = ""; this.personId = ""; - // Create the init event + // Create the events this.initEvent = new CustomEvent("vpu-auth-init", { "detail": "KeyCloak init event" }); this.personInitEvent = new CustomEvent("vpu-auth-person-init", { "detail": "KeyCloak person init event" }); + this.keycloakDataUpdateEvent = new CustomEvent("vpu-auth-keycloak-data-update", { "detail": "KeyCloak data was updated" }); } /** @@ -160,6 +161,7 @@ class VPUAuth extends LitElement { this.shadowRoot.querySelector('#login-block').style.display = state ? "flex" : "none"; this.shadowRoot.querySelector('#logout-block').style.display = state ? "none" : "flex"; } + /** * Dispatches the person init event */ @@ -167,6 +169,13 @@ class VPUAuth extends LitElement { document.dispatchEvent(this.personInitEvent); } + /** + * Dispatches the keycloak data update event + */ + dispatchKeycloakDataUpdateEvent() { + document.dispatchEvent(this.keycloakDataUpdateEvent); + } + updateKeycloakData() { this.name = this._keycloak.idTokenParsed.name; this.token = this._keycloak.token; @@ -179,6 +188,7 @@ class VPUAuth extends LitElement { window.VPUPersonId = this.personId; console.log("Bearer " + this.token); + this.dispatchKeycloakDataUpdateEvent(); } render() { -- GitLab