SI-2473-Acknowledge-Client-Roles
diff --git a/package.json b/package.json
index 195a015..97bb3cf 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,8 @@
"sy-build-noprod": "npm run sy-pre-build && ng build --base-href /contactdatabase/ && npm run sy-post-build",
"sy-build-prod": "npm run sy-pre-build && ng build --prod --aot --base-href /contactdatabase/ && npm run sy-post-build",
"start-in-docker": "npm run sy-pre-start && ng serve --optimization=false --vendor-chunk --common-chunk --host=0.0.0.0 --disableHostCheck=true --proxy-config proxy-docker.conf.json",
- "start-in-docker-unsecure": "npm run sy-pre-start && ng serve --optimization=false --vendor-chunk --common-chunk --host=0.0.0.0 --disableHostCheck=true --proxy-config proxy-docker-unsecure.conf.json"
+ "start-in-docker-unsecure": "npm run sy-pre-start && ng serve --optimization=false --vendor-chunk --common-chunk --host=0.0.0.0 --disableHostCheck=true --proxy-config proxy-docker-unsecure.conf.json",
+ "sl": "npm run start-local"
},
"private": true,
"dependencies": {
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index ac73b36..650cfba 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -77,7 +77,20 @@
user.username = decoded.preferred_username;
user.itemName = decoded.preferred_username;
user.name = firstName + ' ' + lastName;
- user.roles = decoded.realm_access.roles;
+ user.roles = [];
+
+ //add realm roles to jwtPayload.roles
+ if (decoded.realm_access && decoded.realm_access.roles) {
+ user.roles = decoded.realm_access.roles;
+ }
+
+ const clientRoles = [];
+ const resourceAccessList = decoded.resource_access;
+ for (const el in resourceAccessList) {
+ clientRoles.push(...resourceAccessList[el].roles);
+ }
+ user.roles.push(...clientRoles);
+
localStorage.setItem('token', accessToken);
this.appSandbox.setUser(user);
}