Hello Jan,
This is how JavaScript arrays get serialized into JSON by default. To overcome it, you
should convert it into a Java array first using Java.to(foo,
"java.lang.String[]").
Check this out for a complete example of the JavaScript group mapper:
http://lists.jboss.org/pipermail/keycloak-user/2018-November/016223.html
Good luck!
Dmitry Telegin
CTO, Acutus s.r.o.
Keycloak Consulting and Training
Pod lipami street 339/52, 130 00 Prague 3, Czech Republic
+42 (022) 888-30-71
E-mail: info(a)acutus.pro
On Mon, 2018-11-26 at 14:00 +0000, Lengenfeld, Jan wrote:
Hello,
we want to add groups and their ids in the following format to the token:
{
// ... other values omitted for readability ...
"userGroups": [
{
"id": "b6ebc9af-3355-462b-ab1e-583a24f094aa",
"name": "my-group"
},
{
"id": "92b0c111-510c-4da9-a978-d980c3893eac",
"name": "my-other-group"
}
]
}
But all we get is:
{
// ... other values omitted for readability ...
"userGroups": {
"0": {
"id": "b6ebc9af-3355-462b-ab1e-583a24f094aa",
"name": "my-group"
},
"1": {
"id": "92b0c111-510c-4da9-a978-d980c3893eac",
"name": "my-other-group"
}
}
}
We are using the Script Mapper with the following code:
var groups = user.groups;
var simplifiedGroupsForToken = [];
for each (var group in groups) {
simplifiedGroupsForToken.push({"id": group.id, "name":
group.name});
}
simplifiedGroupsForToken;
Do you have any suggestions how to solve our problem? Thanks in advance.
Best regards,
Jan Lengenfeld
_______________________________________________
keycloak-user mailing list
keycloak-user(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user