zitadel/cmd/setup
Livio Spring e57a9b57c8
feat(saml): allow setting nameid-format and alternative mapping for transient format (#7979)
# Which Problems Are Solved

ZITADEL currently always uses
`urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` in SAML requests,
relying on the IdP to respect that flag and always return a peristent
nameid in order to be able to map the external user with an existing
user (idp link) in ZITADEL.
In case the IdP however returns a
`urn:oasis:names:tc:SAML:2.0:nameid-format:transient` (transient)
nameid, the attribute will differ between each request and it will not
be possible to match existing users.

# How the Problems Are Solved

This PR adds the following two options on SAML IdP:
- **nameIDFormat**: allows to set the nameid-format used in the SAML
Request
- **transientMappingAttributeName**: allows to set an attribute name,
which will be used instead of the nameid itself in case the returned
nameid-format is transient

# Additional Changes

To reduce impact on current installations, the `idp_templates6_saml`
table is altered with the two added columns by a setup job. New
installations will automatically get the table with the two columns
directly.
All idp unit tests are updated to use `expectEventstore` instead of the
deprecated `eventstoreExpect`.

# Additional Context

Closes #7483
Closes #7743

---------

Co-authored-by: peintnermax <max@caos.ch>
Co-authored-by: Stefan Benz <46600784+stebenz@users.noreply.github.com>
2024-05-23 05:04:07 +00:00
..
01_sql feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
06 fix(setup): create indexes only if not exists (#4801) 2022-12-01 14:31:01 +01:00
07 fix(init): correct quoting of database and user (#6928) 2023-12-03 08:30:08 +00:00
08 fix(setup): optimise events indexes (#5316) 2023-03-01 00:11:23 +00:00
10 feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
12 feat(login): add OTP (email and sms) (#6353) 2023-08-15 12:47:05 +00:00
13 fix: set quotas (#6597) 2023-09-22 13:06:59 +02:00
14 feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
15 feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
01.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
02.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
03.go feat(api): feature flags (#7356) 2024-02-28 10:55:54 +02:00
05.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
05.sql fix(database): create column only if not exists (#4812) 2022-12-02 10:48:39 +00:00
06.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
07.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
08.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
10.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
12.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
13.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
14.go chore: use pgx v5 (#7577) 2024-03-27 15:48:22 +02:00
15.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
16.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
16.sql fix: ensure uniqueness (#6956) 2023-11-22 12:05:14 +00:00
17.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
17.sql fix(eventstore): improve pagination of handler filter (#6968) 2023-12-01 12:25:41 +00:00
18.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
18.sql fix(query): user performance (#6537) 2023-12-08 13:14:22 +01:00
19.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
19.sql fix(eventstore): increase performance on push (#7125) 2023-12-31 15:30:25 +01:00
20.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
20.sql fix(auth): efficient user session projection (#7187) 2024-01-09 18:36:46 +00:00
21.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
21.sql feat: block instances (#7129) 2024-01-17 10:16:48 +00:00
22.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
22.sql fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
23.go fix(eventstore): consider IsGlobal-flag of constraints (#7518) 2024-03-08 13:33:53 +00:00
23.sql fix(eventstore): consider IsGlobal-flag of constraints (#7518) 2024-03-08 13:33:53 +00:00
24.go feat(oidc): token exchange impersonation (#7516) 2024-03-20 10:18:46 +00:00
24.sql feat(oidc): token exchange impersonation (#7516) 2024-03-20 10:18:46 +00:00
25.go feat(crypto): use passwap for machine and app secrets (#7657) 2024-04-05 09:35:49 +00:00
25.sql feat(crypto): use passwap for machine and app secrets (#7657) 2024-04-05 09:35:49 +00:00
26.go fix(login): improve auth handlers (#7969) 2024-05-22 15:26:02 +00:00
26.sql fix(login): improve auth handlers (#7969) 2024-05-22 15:26:02 +00:00
27.go feat(saml): allow setting nameid-format and alternative mapping for transient format (#7979) 2024-05-23 05:04:07 +00:00
27.sql feat(saml): allow setting nameid-format and alternative mapping for transient format (#7979) 2024-05-23 05:04:07 +00:00
cleanup.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
config_change.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
config_test.go fix(setup): decode complex config strings (#7854) 2024-05-01 12:17:27 +02:00
config.go feat(saml): allow setting nameid-format and alternative mapping for transient format (#7979) 2024-05-23 05:04:07 +00:00
projections.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
setup.go feat(saml): allow setting nameid-format and alternative mapping for transient format (#7979) 2024-05-23 05:04:07 +00:00
steps.yaml docs: describe DefaultInstance vs FirstInstance (#7487) 2024-03-05 08:37:12 +01:00