From dba2ff98cd0d4b3e4199bd107145388924eac041 Mon Sep 17 00:00:00 2001 From: jocelyneholdbrook Date: Wed, 18 Feb 2026 14:01:24 +0000 Subject: [PATCH] feat(medcat-trainer): Determine whether user is admin based on Keycloak group and make isAdmin property reactive. --- medcat-trainer/webapp/frontend/src/App.vue | 3 ++- medcat-trainer/webapp/frontend/src/views/Home.vue | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/medcat-trainer/webapp/frontend/src/App.vue b/medcat-trainer/webapp/frontend/src/App.vue index 6aa75cfeb..b7d74d708 100644 --- a/medcat-trainer/webapp/frontend/src/App.vue +++ b/medcat-trainer/webapp/frontend/src/App.vue @@ -63,6 +63,7 @@ export default { return { loginModal: false, uname: null, + isAdmin: false, version: '', useOidc: isOidcEnabled(), } @@ -104,7 +105,7 @@ export default { updateOidcUser () { if (this.$keycloak && this.$keycloak.tokenParsed) { this.uname = this.$keycloak.tokenParsed.preferred_username || null - this.isAdmin = this.$keycloak.tokenParsed?.realm_access?.roles.includes('admin') ?? false + this.isAdmin = this.$keycloak.tokenParsed?.groups?.includes('/medcattrainer-admins') ?? false this.$http.defaults.headers.common['Authorization'] = `Bearer ${this.$keycloak.token}` } }, diff --git a/medcat-trainer/webapp/frontend/src/views/Home.vue b/medcat-trainer/webapp/frontend/src/views/Home.vue index 47e0a587d..d27f976d2 100644 --- a/medcat-trainer/webapp/frontend/src/views/Home.vue +++ b/medcat-trainer/webapp/frontend/src/views/Home.vue @@ -112,7 +112,7 @@ export default { this.fetchProjects() } else if (this.useOidc && this.$keycloak && this.$keycloak.authenticated) { this.loginSuccessful = true - this.isAdmin = this.$keycloak.tokenParsed?.realm_access?.roles.includes('admin') ?? false; + this.isAdmin = this.$keycloak.tokenParsed?.groups.includes('/medcattrainer-admins') ?? false; this.fetchProjects() } },