zitadel/console
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
..
src feat(saml): allow setting nameid-format and alternative mapping for transient format (#7979) 2024-05-23 05:04:07 +00:00
.editorconfig feat(console): integrate frontend (#95) 2020-05-13 14:41:43 +02:00
.eslintrc.js fix(console): update eslint, redirect user without roles, private labeling save and icon (#4459) 2022-09-29 05:25:57 +00:00
.gitignore chore(console): buf stub build (#5215) 2023-02-17 14:09:11 +00:00
.prettierignore chore(e2e): formatting with prettier (#4385) 2022-09-19 19:49:46 +02:00
.prettierrc fix(console): use authService for auth user page (#5233) 2023-02-27 12:03:44 +01:00
angular.json refactor: copy only required frameworks icons from docs in console (#7538) 2024-03-11 08:33:05 +00:00
buf.gen.yaml chore(console): buf stub build (#5215) 2023-02-17 14:09:11 +00:00
karma.conf.js feat(console): integrate frontend (#95) 2020-05-13 14:41:43 +02:00
ngsw-config.json fix: update assets in ngsw-config.json (#1027) 2020-11-27 16:32:14 +01:00
package.json feat(console): integrate app (#7417) 2024-02-28 16:52:21 +00:00
prebuild.development.js chore(dev): fix fetching http env json (#5921) 2023-05-24 13:07:55 +00:00
README.md docs(contributing): remove guides folder (#4603) 2022-10-24 08:43:24 +02:00
tsconfig.app.json fix(console): angular 15 (#4809) 2023-01-11 13:23:16 +00:00
tsconfig.json feat(console): integrate app (#7417) 2024-02-28 16:52:21 +00:00
tsconfig.spec.json chore(console): dependency update (#5653) 2023-04-18 15:42:29 +02:00
yarn.lock feat: provide option to limit (T)OTP checks (#7693) 2024-04-10 09:14:55 +00:00

Console

This project was generated with Angular CLI version 8.3.20.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Please refer to the contributing guide

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.