fix(oidc): add missing fields to introspection (#6967)

during QA I found some user info and org ID was missing.
This change adds those missing fields.
This commit is contained in:
Tim Möhlmann
2023-11-23 16:17:50 +02:00
committed by GitHub
parent 1ef186e338
commit 72bc3ffe14
8 changed files with 66 additions and 37 deletions

View File

@@ -1,6 +1,3 @@
-- deallocate q;
-- prepare q (text, text, text[]) as
with usr as (
select u.id, u.creation_date, u.change_date, u.sequence, u.state, u.resource_owner, u.username, n.login_name as preferred_login_name
from projections.users9 u
@@ -11,7 +8,7 @@ with usr as (
),
human as (
select $1 as user_id, row_to_json(r) as human from (
select first_name, last_name, nick_name, display_name, avatar_key, email, is_email_verified, phone, is_phone_verified
select first_name, last_name, nick_name, display_name, avatar_key, preferred_language, gender, email, is_email_verified, phone, is_phone_verified
from projections.users9_humans
where user_id = $1
and instance_id = $2
@@ -56,7 +53,7 @@ orgs as (
-- find the user's org
user_org as (
select row_to_json(r) as organization from (
select name, primary_domain
select o.id, o.name, o.primary_domain
from orgs o
join usr u on o.id = u.resource_owner
) r
@@ -88,5 +85,3 @@ select json_build_object(
'metadata', (select metadata from metadata),
'user_grants', (select grants from grants)
);
-- execute q('231965491734773762','230690539048009730', '{"236645808328409090","240762134579904514"}')

View File

@@ -14,6 +14,8 @@
"nick_name": "muhlemmer",
"display_name": "Tim Mohlmann",
"avatar_key": null,
"preferred_language": "en",
"gender": 2,
"email": "tim+tesmail@zitadel.com",
"is_email_verified": true,
"phone": "+40123456789",
@@ -22,6 +24,7 @@
"machine": null
},
"org": {
"id": "231848297847848962",
"name": "demo",
"primary_domain": "demo.localhost"
},

View File

@@ -14,6 +14,8 @@
"nick_name": "muhlemmer",
"display_name": "Tim Mohlmann",
"avatar_key": null,
"preferred_language": "en",
"gender": 2,
"email": "tim+tesmail@zitadel.com",
"is_email_verified": true,
"phone": "+40123456789",
@@ -22,6 +24,7 @@
"machine": null
},
"org": {
"id": "231848297847848962",
"name": "demo",
"primary_domain": "demo.localhost"
},

View File

@@ -14,6 +14,8 @@
"nick_name": "muhlemmer",
"display_name": "Tim Mohlmann",
"avatar_key": null,
"preferred_language": "en",
"gender": 2,
"email": "tim+tesmail@zitadel.com",
"is_email_verified": true,
"phone": "+40123456789",
@@ -22,6 +24,7 @@
"machine": null
},
"org": {
"id": "231848297847848962",
"name": "demo",
"primary_domain": "demo.localhost"
},

View File

@@ -15,6 +15,7 @@
}
},
"org": {
"id": "231848297847848962",
"name": "demo",
"primary_domain": "demo.localhost"
},

View File

@@ -11,9 +11,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/text/language"
"github.com/zitadel/zitadel/internal/api/authz"
"github.com/zitadel/zitadel/internal/database"
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/errors"
)
@@ -99,19 +101,22 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
Username: "tim+tesmail@zitadel.com",
PreferredLoginName: "tim+tesmail@zitadel.com@demo.localhost",
Human: &Human{
FirstName: "Tim",
LastName: "Mohlmann",
NickName: "muhlemmer",
DisplayName: "Tim Mohlmann",
AvatarKey: "",
Email: "tim+tesmail@zitadel.com",
IsEmailVerified: true,
Phone: "+40123456789",
IsPhoneVerified: false,
FirstName: "Tim",
LastName: "Mohlmann",
NickName: "muhlemmer",
DisplayName: "Tim Mohlmann",
AvatarKey: "",
PreferredLanguage: language.English,
Gender: domain.GenderMale,
Email: "tim+tesmail@zitadel.com",
IsEmailVerified: true,
Phone: "+40123456789",
IsPhoneVerified: false,
},
Machine: nil,
},
Org: &UserInfoOrg{
ID: "231848297847848962",
Name: "demo",
PrimaryDomain: "demo.localhost",
},
@@ -135,19 +140,22 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
Username: "tim+tesmail@zitadel.com",
PreferredLoginName: "tim+tesmail@zitadel.com@demo.localhost",
Human: &Human{
FirstName: "Tim",
LastName: "Mohlmann",
NickName: "muhlemmer",
DisplayName: "Tim Mohlmann",
AvatarKey: "",
Email: "tim+tesmail@zitadel.com",
IsEmailVerified: true,
Phone: "+40123456789",
IsPhoneVerified: false,
FirstName: "Tim",
LastName: "Mohlmann",
NickName: "muhlemmer",
DisplayName: "Tim Mohlmann",
AvatarKey: "",
PreferredLanguage: language.English,
Gender: domain.GenderMale,
Email: "tim+tesmail@zitadel.com",
IsEmailVerified: true,
Phone: "+40123456789",
IsPhoneVerified: false,
},
Machine: nil,
},
Org: &UserInfoOrg{
ID: "231848297847848962",
Name: "demo",
PrimaryDomain: "demo.localhost",
},
@@ -193,19 +201,22 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
Username: "tim+tesmail@zitadel.com",
PreferredLoginName: "tim+tesmail@zitadel.com@demo.localhost",
Human: &Human{
FirstName: "Tim",
LastName: "Mohlmann",
NickName: "muhlemmer",
DisplayName: "Tim Mohlmann",
AvatarKey: "",
Email: "tim+tesmail@zitadel.com",
IsEmailVerified: true,
Phone: "+40123456789",
IsPhoneVerified: false,
FirstName: "Tim",
LastName: "Mohlmann",
NickName: "muhlemmer",
DisplayName: "Tim Mohlmann",
AvatarKey: "",
PreferredLanguage: language.English,
Gender: domain.GenderMale,
Email: "tim+tesmail@zitadel.com",
IsEmailVerified: true,
Phone: "+40123456789",
IsPhoneVerified: false,
},
Machine: nil,
},
Org: &UserInfoOrg{
ID: "231848297847848962",
Name: "demo",
PrimaryDomain: "demo.localhost",
},
@@ -292,6 +303,7 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
},
},
Org: &UserInfoOrg{
ID: "231848297847848962",
Name: "demo",
PrimaryDomain: "demo.localhost",
},