mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-13 01:25:11 +00:00
feat(group): add user groups to token claims (#11009)
# Which Problems Are Solved If the groups of a user is requested through a scope, details related to the user's groups are added in the token claims. # How the Problems Are Solved By querying the user groups that the user is a part of, and setting them in the token claims. This PR introduces two scopes to request user groups: `groups` and `urn:zitadel:iam:user:groups` * `groups` returns an array of group names in the token claims with the same name * `urn:zitadel:iam:user:groups` returns an array of JSON objects with information about the user groups in the token claims with the same name # Additional Changes N/A # Additional Context - Closes #9702 - Follow-up for PRs: * #10455 * #10853 * #10758 * #10940 --------- Co-authored-by: Livio Spring <[email protected]>
This commit is contained in:
co-authored by
Livio Spring
parent
e4a959c321
commit
a9846498a9
@@ -62,6 +62,18 @@ user_org as (
|
||||
join usr u on o.id = u.resource_owner
|
||||
) r
|
||||
),
|
||||
-- find the user's groups
|
||||
user_groups as (
|
||||
select json_agg(row_to_json(r)) as user_groups from (
|
||||
select g.id, g.name
|
||||
from projections.group_users1 as gu
|
||||
left join projections.groups1 as g on gu.group_id = g.id and gu.instance_id = g.instance_id
|
||||
where gu.user_id = $1
|
||||
and gu.instance_id = $2
|
||||
and g.state = 1
|
||||
)
|
||||
r
|
||||
),
|
||||
-- join user grants to orgs, projects and user
|
||||
grants as (
|
||||
select json_agg(row_to_json(r)) as grants from (
|
||||
@@ -87,5 +99,6 @@ select json_build_object(
|
||||
),
|
||||
'org', (select organization from user_org),
|
||||
'metadata', (select metadata from metadata),
|
||||
'user_grants', (select grants from grants)
|
||||
'user_grants', (select grants from grants),
|
||||
'user_groups', (select user_groups from user_groups)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user