zitadel/internal/repository/org
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
..
aggregate.go chore(v2): move to new org (#3499) 2022-04-26 23:01:45 +00:00
custom_text.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
domain.go refactor: rename package errors to zerrors (#7039) 2023-12-08 15:30:55 +01:00
eventstore.go fix(setup): init projections (#7194) 2024-01-25 17:28:20 +01:00
flow.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
idp_config.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
idp_jwt_config.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
idp_oidc_config.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
idp.go feat(saml): allow setting nameid-format and alternative mapping for transient format (#7979) 2024-05-23 05:04:07 +00:00
member.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
metadata.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
org.go refactor: rename package errors to zerrors (#7039) 2023-12-08 15:30:55 +01:00
policy_domain.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_label.go feat: add attribute to only enable specific themes (#6798) 2023-10-26 05:54:09 +00:00
policy_login_factors.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_login_identity_provider.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_login.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_mail_template.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_mail_text.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_notification.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_password_age.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_password_complexity.go feat(eventstore): increase parallel write capabilities (#5940) 2023-10-19 12:19:10 +02:00
policy_password_lockout.go feat: provide option to limit (T)OTP checks (#7693) 2024-04-10 09:14:55 +00:00
policy_privacy.go feat(cnsl): docs link can be customized and custom button is available (#7840) 2024-05-13 16:01:50 +02:00