mirror of
https://github.com/zitadel/zitadel.git
synced 2025-01-07 22:58:02 +00:00
fix missing preferred login name
This commit is contained in:
parent
953e9433eb
commit
657c2a5408
@ -48,7 +48,7 @@ func TestOPStorage_SetUserinfoFromToken(t *testing.T) {
|
||||
assertUserinfo(t, userinfo)
|
||||
}
|
||||
|
||||
func TestOPStorage_SetIntrospectionFromToken(t *testing.T) {
|
||||
func TestServer_Introspect(t *testing.T) {
|
||||
project, err := Tester.CreateProject(CTX)
|
||||
require.NoError(t, err)
|
||||
app, err := Tester.CreateOIDCNativeClient(CTX, redirectURI, logoutRedirectURI, project.GetId())
|
||||
|
@ -2,10 +2,12 @@
|
||||
-- prepare q (text, text, text[]) as
|
||||
|
||||
with usr as (
|
||||
select id, creation_date, change_date, sequence, state, resource_owner, username
|
||||
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
|
||||
where id = $1
|
||||
and instance_id = $2
|
||||
left join projections.login_names2 n on u.id = n.user_id and u.instance_id = n.instance_id
|
||||
where u.id = $1
|
||||
and u.instance_id = $2
|
||||
and n.is_primary = true
|
||||
),
|
||||
human as (
|
||||
select $1 as user_id, row_to_json(r) as human from (
|
||||
@ -69,6 +71,7 @@ grants as (
|
||||
left join orgs o on o.id = g.resource_owner
|
||||
left join projections.projects3 p on p.id = g.project_id
|
||||
left join usr u on u.id = g.user_id
|
||||
where p.instance_id = $2
|
||||
) r
|
||||
)
|
||||
-- build the final result JSON
|
||||
|
87
internal/query/testdata/userinfo_human.json
vendored
87
internal/query/testdata/userinfo_human.json
vendored
@ -1,46 +1,47 @@
|
||||
{
|
||||
"user": {
|
||||
"id": "231965491734773762",
|
||||
"creation_date": "2023-09-15T06:10:07.434142+00:00",
|
||||
"change_date": "2023-11-14T13:27:02.072318+00:00",
|
||||
"sequence": 1148,
|
||||
"state": 1,
|
||||
"user": {
|
||||
"id": "231965491734773762",
|
||||
"creation_date": "2023-09-15T06:10:07.434142+00:00",
|
||||
"change_date": "2023-11-14T13:27:02.072318+00:00",
|
||||
"sequence": 1148,
|
||||
"state": 1,
|
||||
"resource_owner": "231848297847848962",
|
||||
"username": "tim+tesmail@zitadel.com",
|
||||
"preferred_login_name": "tim+tesmail@zitadel.com@demo.localhost",
|
||||
"human": {
|
||||
"first_name": "Tim",
|
||||
"last_name": "Mohlmann",
|
||||
"nick_name": "muhlemmer",
|
||||
"display_name": "Tim Mohlmann",
|
||||
"avatar_key": null,
|
||||
"email": "tim+tesmail@zitadel.com",
|
||||
"is_email_verified": true,
|
||||
"phone": "+40123456789",
|
||||
"is_phone_verified": false
|
||||
},
|
||||
"machine": null
|
||||
},
|
||||
"org": {
|
||||
"name": "demo",
|
||||
"primary_domain": "demo.localhost"
|
||||
},
|
||||
"metadata": [
|
||||
{
|
||||
"creation_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"change_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"sequence": 1147,
|
||||
"resource_owner": "231848297847848962",
|
||||
"username": "tim+tesmail@zitadel.com",
|
||||
"human": {
|
||||
"first_name": "Tim",
|
||||
"last_name": "Mohlmann",
|
||||
"nick_name": "muhlemmer",
|
||||
"display_name": "Tim Mohlmann",
|
||||
"avatar_key": null,
|
||||
"email": "tim+tesmail@zitadel.com",
|
||||
"is_email_verified": true,
|
||||
"phone": "+40123456789",
|
||||
"is_phone_verified": false
|
||||
},
|
||||
"machine": null
|
||||
"key": "bar",
|
||||
"value": "Zm9v"
|
||||
},
|
||||
"org": {
|
||||
"name": "demo",
|
||||
"primary_domain": "demo.localhost"
|
||||
},
|
||||
"metadata": [
|
||||
{
|
||||
"creation_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"change_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"sequence": 1147,
|
||||
"resource_owner": "231848297847848962",
|
||||
"key": "bar",
|
||||
"value": "Zm9v"
|
||||
},
|
||||
{
|
||||
"creation_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"change_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"sequence": 1146,
|
||||
"resource_owner": "231848297847848962",
|
||||
"key": "foo",
|
||||
"value": "YmFy"
|
||||
}
|
||||
],
|
||||
"user_grants": null
|
||||
}
|
||||
{
|
||||
"creation_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"change_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"sequence": 1146,
|
||||
"resource_owner": "231848297847848962",
|
||||
"key": "foo",
|
||||
"value": "YmFy"
|
||||
}
|
||||
],
|
||||
"user_grants": null
|
||||
}
|
||||
|
164
internal/query/testdata/userinfo_human_grants.json
vendored
164
internal/query/testdata/userinfo_human_grants.json
vendored
@ -1,86 +1,86 @@
|
||||
{
|
||||
"user": {
|
||||
"id": "231965491734773762",
|
||||
"creation_date": "2023-09-15T06:10:07.434142+00:00",
|
||||
"change_date": "2023-11-14T13:27:02.072318+00:00",
|
||||
"sequence": 1148,
|
||||
"state": 1,
|
||||
"user": {
|
||||
"id": "231965491734773762",
|
||||
"creation_date": "2023-09-15T06:10:07.434142+00:00",
|
||||
"change_date": "2023-11-14T13:27:02.072318+00:00",
|
||||
"sequence": 1148,
|
||||
"state": 1,
|
||||
"resource_owner": "231848297847848962",
|
||||
"username": "tim+tesmail@zitadel.com",
|
||||
"preferred_login_name": "tim+tesmail@zitadel.com@demo.localhost",
|
||||
"human": {
|
||||
"first_name": "Tim",
|
||||
"last_name": "Mohlmann",
|
||||
"nick_name": "muhlemmer",
|
||||
"display_name": "Tim Mohlmann",
|
||||
"avatar_key": null,
|
||||
"email": "tim+tesmail@zitadel.com",
|
||||
"is_email_verified": true,
|
||||
"phone": "+40123456789",
|
||||
"is_phone_verified": false
|
||||
},
|
||||
"machine": null
|
||||
},
|
||||
"org": {
|
||||
"name": "demo",
|
||||
"primary_domain": "demo.localhost"
|
||||
},
|
||||
"metadata": [
|
||||
{
|
||||
"creation_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"change_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"sequence": 1147,
|
||||
"resource_owner": "231848297847848962",
|
||||
"username": "tim+tesmail@zitadel.com",
|
||||
"human": {
|
||||
"first_name": "Tim",
|
||||
"last_name": "Mohlmann",
|
||||
"nick_name": "muhlemmer",
|
||||
"display_name": "Tim Mohlmann",
|
||||
"avatar_key": null,
|
||||
"email": "tim+tesmail@zitadel.com",
|
||||
"is_email_verified": true,
|
||||
"phone": "+40123456789",
|
||||
"is_phone_verified": false
|
||||
},
|
||||
"machine": null
|
||||
"key": "bar",
|
||||
"value": "Zm9v"
|
||||
},
|
||||
"org": {
|
||||
"name": "demo",
|
||||
"primary_domain": "demo.localhost"
|
||||
{
|
||||
"creation_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"change_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"sequence": 1146,
|
||||
"resource_owner": "231848297847848962",
|
||||
"key": "foo",
|
||||
"value": "YmFy"
|
||||
}
|
||||
],
|
||||
"user_grants": [
|
||||
{
|
||||
"id": "240749256523120642",
|
||||
"grant_id": "",
|
||||
"state": 1,
|
||||
"creation_date": "2023-11-14T20:28:59.168208+00:00",
|
||||
"change_date": "2023-11-14T20:50:58.822391+00:00",
|
||||
"sequence": 2,
|
||||
"user_id": "231965491734773762",
|
||||
"roles": [
|
||||
"role1",
|
||||
"role2"
|
||||
],
|
||||
"resource_owner": "231848297847848962",
|
||||
"project_id": "236645808328409090",
|
||||
"org_name": "demo",
|
||||
"org_primary_domain": "demo.localhost",
|
||||
"project_name": "tests",
|
||||
"user_resource_owner": "231848297847848962"
|
||||
},
|
||||
"metadata": [
|
||||
{
|
||||
"creation_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"change_date": "2023-11-14T13:26:03.553702+00:00",
|
||||
"sequence": 1147,
|
||||
"resource_owner": "231848297847848962",
|
||||
"key": "bar",
|
||||
"value": "Zm9v"
|
||||
},
|
||||
{
|
||||
"creation_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"change_date": "2023-11-14T13:25:57.171368+00:00",
|
||||
"sequence": 1146,
|
||||
"resource_owner": "231848297847848962",
|
||||
"key": "foo",
|
||||
"value": "YmFy"
|
||||
}
|
||||
],
|
||||
"user_grants": [
|
||||
{
|
||||
"id": "240749256523120642",
|
||||
"grant_id": "",
|
||||
"state": 1,
|
||||
"creation_date": "2023-11-14T20:28:59.168208+00:00",
|
||||
"change_date": "2023-11-14T20:50:58.822391+00:00",
|
||||
"sequence": 2,
|
||||
"user_id": "231965491734773762",
|
||||
"roles": [
|
||||
"role1",
|
||||
"role2"
|
||||
],
|
||||
"resource_owner": "231848297847848962",
|
||||
"project_id": "236645808328409090",
|
||||
"org_name": "demo",
|
||||
"org_primary_domain": "demo.localhost",
|
||||
"project_name": "tests",
|
||||
"user_resource_owner": "231848297847848962"
|
||||
},
|
||||
{
|
||||
"id": "240762315572510722",
|
||||
"grant_id": "",
|
||||
"state": 1,
|
||||
"creation_date": "2023-11-14T22:38:42.967317+00:00",
|
||||
"change_date": "2023-11-14T22:38:42.967317+00:00",
|
||||
"sequence": 1,
|
||||
"user_id": "231965491734773762",
|
||||
"roles": [
|
||||
"role3",
|
||||
"role4"
|
||||
],
|
||||
"resource_owner": "231848297847848962",
|
||||
"project_id": "240762134579904514",
|
||||
"org_name": "demo",
|
||||
"org_primary_domain": "demo.localhost",
|
||||
"project_name": "tests2",
|
||||
"user_resource_owner": "231848297847848962"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
{
|
||||
"id": "240762315572510722",
|
||||
"grant_id": "",
|
||||
"state": 1,
|
||||
"creation_date": "2023-11-14T22:38:42.967317+00:00",
|
||||
"change_date": "2023-11-14T22:38:42.967317+00:00",
|
||||
"sequence": 1,
|
||||
"user_id": "231965491734773762",
|
||||
"roles": [
|
||||
"role3",
|
||||
"role4"
|
||||
],
|
||||
"resource_owner": "231848297847848962",
|
||||
"project_id": "240762134579904514",
|
||||
"org_name": "demo",
|
||||
"org_primary_domain": "demo.localhost",
|
||||
"project_name": "tests2",
|
||||
"user_resource_owner": "231848297847848962"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,29 +1,30 @@
|
||||
{
|
||||
"user": {
|
||||
"id": "231965491734773762",
|
||||
"creation_date": "2023-09-15T06:10:07.434142+00:00",
|
||||
"change_date": "2023-11-14T13:27:02.072318+00:00",
|
||||
"sequence": 1148,
|
||||
"state": 1,
|
||||
"resource_owner": "231848297847848962",
|
||||
"username": "tim+tesmail@zitadel.com",
|
||||
"human": {
|
||||
"first_name": "Tim",
|
||||
"last_name": "Mohlmann",
|
||||
"nick_name": "muhlemmer",
|
||||
"display_name": "Tim Mohlmann",
|
||||
"avatar_key": null,
|
||||
"email": "tim+tesmail@zitadel.com",
|
||||
"is_email_verified": true,
|
||||
"phone": "+40123456789",
|
||||
"is_phone_verified": false
|
||||
},
|
||||
"machine": null
|
||||
"user": {
|
||||
"id": "231965491734773762",
|
||||
"creation_date": "2023-09-15T06:10:07.434142+00:00",
|
||||
"change_date": "2023-11-14T13:27:02.072318+00:00",
|
||||
"sequence": 1148,
|
||||
"state": 1,
|
||||
"resource_owner": "231848297847848962",
|
||||
"username": "tim+tesmail@zitadel.com",
|
||||
"preferred_login_name": "tim+tesmail@zitadel.com@demo.localhost",
|
||||
"human": {
|
||||
"first_name": "Tim",
|
||||
"last_name": "Mohlmann",
|
||||
"nick_name": "muhlemmer",
|
||||
"display_name": "Tim Mohlmann",
|
||||
"avatar_key": null,
|
||||
"email": "tim+tesmail@zitadel.com",
|
||||
"is_email_verified": true,
|
||||
"phone": "+40123456789",
|
||||
"is_phone_verified": false
|
||||
},
|
||||
"org": {
|
||||
"name": "demo",
|
||||
"primary_domain": "demo.localhost"
|
||||
},
|
||||
"metadata": null,
|
||||
"user_grants": null
|
||||
}
|
||||
"machine": null
|
||||
},
|
||||
"org": {
|
||||
"name": "demo",
|
||||
"primary_domain": "demo.localhost"
|
||||
},
|
||||
"metadata": null,
|
||||
"user_grants": null
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
"state": 1,
|
||||
"resource_owner": "231848297847848962",
|
||||
"username": "tests",
|
||||
"preferred_login_name": "tests@demo.localhost",
|
||||
"human": null,
|
||||
"machine": {
|
||||
"name": "tests",
|
||||
|
@ -73,13 +73,14 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
|
||||
mock: mockQuery(expQuery, []string{"json_build_object"}, []driver.Value{testdataUserInfoHumanNoMD}, "231965491734773762", "instanceID", nil),
|
||||
want: &OIDCUserInfo{
|
||||
User: &User{
|
||||
ID: "231965491734773762",
|
||||
CreationDate: time.Date(2023, time.September, 15, 6, 10, 7, 434142000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 27, 2, 72318000, time.FixedZone("", 0)),
|
||||
Sequence: 1148,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tim+tesmail@zitadel.com",
|
||||
ID: "231965491734773762",
|
||||
CreationDate: time.Date(2023, time.September, 15, 6, 10, 7, 434142000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 27, 2, 72318000, time.FixedZone("", 0)),
|
||||
Sequence: 1148,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tim+tesmail@zitadel.com",
|
||||
PreferredLoginName: "tim+tesmail@zitadel.com@demo.localhost",
|
||||
Human: &Human{
|
||||
FirstName: "Tim",
|
||||
LastName: "Mohlmann",
|
||||
@ -108,13 +109,14 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
|
||||
mock: mockQuery(expQuery, []string{"json_build_object"}, []driver.Value{testdataUserInfoHuman}, "231965491734773762", "instanceID", nil),
|
||||
want: &OIDCUserInfo{
|
||||
User: &User{
|
||||
ID: "231965491734773762",
|
||||
CreationDate: time.Date(2023, time.September, 15, 6, 10, 7, 434142000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 27, 2, 72318000, time.FixedZone("", 0)),
|
||||
Sequence: 1148,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tim+tesmail@zitadel.com",
|
||||
ID: "231965491734773762",
|
||||
CreationDate: time.Date(2023, time.September, 15, 6, 10, 7, 434142000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 27, 2, 72318000, time.FixedZone("", 0)),
|
||||
Sequence: 1148,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tim+tesmail@zitadel.com",
|
||||
PreferredLoginName: "tim+tesmail@zitadel.com@demo.localhost",
|
||||
Human: &Human{
|
||||
FirstName: "Tim",
|
||||
LastName: "Mohlmann",
|
||||
@ -165,13 +167,14 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
|
||||
),
|
||||
want: &OIDCUserInfo{
|
||||
User: &User{
|
||||
ID: "231965491734773762",
|
||||
CreationDate: time.Date(2023, time.September, 15, 6, 10, 7, 434142000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 27, 2, 72318000, time.FixedZone("", 0)),
|
||||
Sequence: 1148,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tim+tesmail@zitadel.com",
|
||||
ID: "231965491734773762",
|
||||
CreationDate: time.Date(2023, time.September, 15, 6, 10, 7, 434142000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 27, 2, 72318000, time.FixedZone("", 0)),
|
||||
Sequence: 1148,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tim+tesmail@zitadel.com",
|
||||
PreferredLoginName: "tim+tesmail@zitadel.com@demo.localhost",
|
||||
Human: &Human{
|
||||
FirstName: "Tim",
|
||||
LastName: "Mohlmann",
|
||||
@ -257,14 +260,15 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
|
||||
mock: mockQuery(expQuery, []string{"json_build_object"}, []driver.Value{testdataUserInfoMachine}, "240707570677841922", "instanceID", nil),
|
||||
want: &OIDCUserInfo{
|
||||
User: &User{
|
||||
ID: "240707570677841922",
|
||||
CreationDate: time.Date(2023, time.November, 14, 13, 34, 52, 473732000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 35, 2, 861342000, time.FixedZone("", 0)),
|
||||
Sequence: 2,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tests",
|
||||
Human: nil,
|
||||
ID: "240707570677841922",
|
||||
CreationDate: time.Date(2023, time.November, 14, 13, 34, 52, 473732000, time.FixedZone("", 0)),
|
||||
ChangeDate: time.Date(2023, time.November, 14, 13, 35, 2, 861342000, time.FixedZone("", 0)),
|
||||
Sequence: 2,
|
||||
State: 1,
|
||||
ResourceOwner: "231848297847848962",
|
||||
Username: "tests",
|
||||
PreferredLoginName: "tests@demo.localhost",
|
||||
Human: nil,
|
||||
Machine: &Machine{
|
||||
Name: "tests",
|
||||
Description: "My test service user",
|
||||
|
Loading…
x
Reference in New Issue
Block a user