Commit Graph
794 Commits
Author SHA1 Message Date
763825cd2c docs(guides): updated support instructions and screenshots (#10521)
Since the support form is deployed in the customer portal I updated the
instructions and screenshots.

---------

Co-authored-by: Maximilian <[email protected]>
2025-08-20 10:15:11 +00:00
SilvanandGitHub 9a799a7c7b docs: benchmarks for v4 (#10360)
Introduce benchmark documentation and results for various endpoints in
the Zitadel v4 release, including performance metrics and test
configurations.
2025-08-19 14:21:12 +00:00
c83a85dee9 docs(legal): remove billing page to redirect to the HubSpot KBA URL (#10488)
Removed the billing md document and updated the links to the HubSpot KBA
-> https://help.zitadel.com/pricing-and-billing-of-zitadel-services

Co-authored-by: Maximilian <[email protected]>
2025-08-18 11:21:00 -03:00
ea71da0d3f docs (legal): Update urgent support phone number specified in support-services.mdx (#10486)
Updated urgent support phone number to **+41 71 560 28 06**

Co-authored-by: Maximilian <[email protected]>
2025-08-14 17:32:30 +00:00
Elio BischofandGitHub 86db6f1375 docs: remove knative refs (#10487)
# Which Problems Are Solved

Broken links to the removed Knative docs are removed.

# How the Problems Are Solved

I searched for case insensitive knative occurrences in the whole project
and handled them.

# Additional Context

[Reported
internallly](https://zitadel.slack.com/archives/C087ADF8LRX/p1755182839818719?thread_ts=1755170846.959129&cid=C087ADF8LRX)
2025-08-14 15:17:20 +00:00
93c030d8fb docs: get rid of empty custom scopes placeholder (#10423)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

<img width="1402" height="807" alt="image"
src="https://github.com/user-attachments/assets/9c931889-600f-475c-8a8e-eff592d9acae"
/>

# How the Problems Are Solved

Removing the Custom Scopes Placeholder.

Co-authored-by: Rajat Singh <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
2025-08-13 13:57:44 +02:00
4930870504 docs(login v2): update proxy examples (#10358)
# Which Problems Are Solved

- The proxy examples are updated so a self-hosted login container is
deployed.
- The proxies are configured to direct traffic at /ui/v2/login to it.

# How the Problems Are Solved

The base compose file is extended by correctly configured login
containers for all three scenarios
- TLS disabled
- External TLS
- TLS Enabled

The proxy always connects to the login via HTTP.

# Additional Changes

- All proxies have the TLS disabled mode outcommented, because the login
container has state problems, maybe because it needs secure cookies. The
need for this is unclear, so we avoid creating a follow-up issue.
- The httpd external mode is incommented, as gRPC connections work with
this configuration.
- *ZITADEL* is replaced by *Zitadel*

# Additional Context

- Partially Closes #10016

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Stefan Benz <[email protected]>
2025-08-07 16:58:18 +00:00
Elio BischofandGitHub 5f7851768b docs(self-hosting): remove Knative example (#10342)
# Which Problems Are Solved

The Knative docs are removed, as they are not relevant enough.

# How the Problems Are Solved

- The docs page is removed
- The sidebar item is removed

# Additional Context

- Partially Closes #10016
2025-08-07 18:27:24 +02:00
Elio BischofandGitHub 7e184727b0 docs: simplify compose example (#10407)
# Which Problems Are Solved

Using the compose configuration with for existing installation doesn't
work.
It is not appreciated in the whole community, that we use Traefik for
the deployment example.

# How the Problems Are Solved

- The config we used before v4 is reused and extended in a compatible
way.
- Traefik is removed, Zitadel is accessible again at localhost:8080 and
the login at localhost:3000. Deploying with Traefik is described already
here http://localhost:3000/docs/self-hosting/manage/reverseproxy/traefik
- A page is added that describes how to create a login client and switch
from login v1 to v2. The page is linked in a hint in the compose
example.

# Additional Changes

- The config also sets up a machine user and documents it inline. This
allows us to avoid using the cumbersome separate docker-compose-sa.yaml

# Additional Context

- Closes #10379 
- Internal discussion
https://zitadel.slack.com/archives/C08TL9AURL7/p1754471184222879
- Discord about upgrading to v2 login:
-
https://discord.com/channels/927474939156643850/927866013545025566/threads/1401950163940933804
-
https://discord.com/channels/927474939156643850/927866013545025566/1401312126030708756
- Discord about not found errors:
-
https://discord.com/channels/927474939156643850/927866013545025566/threads/1401173877941473291
-
https://discord.com/channels/927474939156643850/927866013545025566/1401045717849604227
-
https://discord.com/channels/927474939156643850/927866013545025566/1401173877941473291
-
https://discord.com/channels/927474939156643850/927866013545025566/1401301168998584361
2025-08-06 20:48:54 +00:00
Hidde WieringaandGitHub b6ebabb962 docs: Typos in Actions documentation (#10199)
*safe* is a typo. I also made the sentence a bit more objective.
2025-08-06 09:34:21 +00:00
f73b2fefd6 docs(inconsistent naming): Organization ID (#10370)
# Which Problems Are Solved

partially #9342

# How the Problems Are Solved

Suggested changes.
"Resource Owner" will remain in a couple of places, since these are
terms that are used in console / APIs.

# Additional Changes


# Additional Context

---------

Co-authored-by: Stefan Benz <[email protected]>
2025-08-01 11:09:47 +00:00
Marco A.andGitHub c6392e175f docs: update roadmap (#10369)
# Which Problems Are Solved

The roadmap page is not up to date with the latest changes that have
been released with Zitadel v4.

# How the Problems Are Solved

Update the doc according to #10309

# Dependencies

- https://github.com/zitadel/zitadel/pull/10249 -> Update the API docs
with deprecated endpoints
- https://github.com/zitadel/zitadel/pull/10364 -> Actions v2 beta to v2

# Additional Context

- Closes #10309
2025-08-01 10:27:26 +00:00
Livio SpringandGitHub 28d70db6ae docs: document service ping configuration and data sent (#10167)
# Which Problems Are Solved

With the introduction of the service ping, we'll send data from all
systems back to a central endpoint for analytics and getting insights
about usage. To make it visible what data is sent and provide the users
an easy way to opt-out, we need a small documentation to tell them what
and how.

# How the Problems Are Solved

Document the service ping including what data is sent and how to opt-out
or configure most important settings.

# Additional Changes

None

# Additional Context

relates to #9869
2025-07-31 10:23:19 +00:00
b06e4e2f9c docs(self-hosting): simplify lb example and replace compose example (#9844)
# Which Problems Are Solved

The load balancing compose example uses a dedicated service
`use-new-login` that gives the set up machine user the login role and
requires the v2 login using an instance feature. This is cumbersome and
unnecessary.

# How the Problems Are Solved

- A login client machine user is set up and the token is passed to the
login by using the environment variable ZITADEL_SERVICE_USER_TOKEN_FILE.
- The unnecessary service is removed

# Additional Changes

- Uses the static `MasterkeyNeedsToHave32Characters` master key.
- The load balancing example replaces the previous Docker Compose
example.
- The login uses `network_mode: service:zitadel` so it can access the
zitadel service in the docker network via localhost.
- Uses the docker provider for Traefik.

# Additional Context

- Complements https://github.com/zitadel/zitadel/pull/9496
- Partially closes https://github.com/zitadel/zitadel/issues/10016
- When we release, we should update the image tags to latest, for
example with [this PR](https://github.com/zitadel/zitadel/pull/10249).

---------

Co-authored-by: Tim Möhlmann <[email protected]>
2025-07-31 12:51:38 +03:00
Gayathri VijayanandGitHub 6a93950b64 docs: fix the example docs related to set execution api (actions) (#10359)
# Which Problems Are Solved

Fix docs related to Actions V2 SetExecution API
[endpoint](https://zitadel.com/docs/apis/resources/action_service_v2/action-service-set-execution)

# How the Problems Are Solved

The examples are updated

# Additional Changes
N/A

# Additional Context
- Closes #10320
2025-07-31 10:50:17 +02:00
82e4466928 docs: deprecate organization v2beta endpoints + remove scim preview notice (#10350)
# Which Problems Are Solved

The documentation API regarding organization v2 beta is not up to date.

The documentation regarding SCIM v2 is not up to date.

# How the Problems Are Solved

- Deprecate the existing v2beta endpoints `CreateOrganization` and
`ListOrganizations` in favour of the v2 counterparst
  - Remove the preview warning from SCIM v2 pages

# Additional Context

- Closes #10311 and #10310

---------

Co-authored-by: Marco Ardizzone <[email protected]>
2025-07-30 11:41:25 +00:00
5d2d1d6da6 feat(OIDC): handle logout hint on end_session_endpoint (#10039)
# Which Problems Are Solved

The OIDC session endpoint allows to pass a `id_token_hint` to identify
the session to terminate. In case the application is not able to pass
that, e.g. Console currently allows multiple sessions to be open, but
will only store the id_token of the current session, allowing to pass
the `logout_hint` to identify the user adds some new possibilities.

# How the Problems Are Solved

In case the end_session_endpoint is called with no `id_token_hint`, but
a `logout_hint` and the v2 login UI is configured, the information is
passed to the login UI also as `login_hint` parameter to allow the login
UI to determine the session to be terminated, resp. let the user decide.

# Additional Changes

Also added the `ui_locales` as parameter to handle and pass to the V2
login UI.

# Dependencies ⚠️ 

~These changes depend on https://github.com/zitadel/oidc/pull/774~

# Additional Context

closes #9847

---------

Co-authored-by: Marco Ardizzone <[email protected]>
2025-07-28 13:55:55 +00:00
Emma HendersonandGitHub 1b7f95c364 docs: Changed externalUser() to externalUser in External Authentication documentation (#9982)
Changed externalUser() to externalUser in external-authentication.md
file.

<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

Replace this example text with a concise list of problems that this PR
solves.
For example:
- External Authentication documentation states that to retrieve the
external user in the post authentication flow, use externalUser().
However, it needs to be externalUser (the method).

# How the Problems Are Solved

Replace this example text with a concise list of changes that this PR
introduces.
For example:
- Changing externalUser() to externalUser in the
external-authentication.md file solves this issue.

# Additional Changes

Replace this example text with a concise list of additional changes that
this PR introduces, that are not directly solving the initial problem
but are related.
For example:
- No additional changes were made.

# Additional Context

Replace this example with links to related issues, discussions, discord
threads, or other sources with more context.
Use the Closing #issue syntax for issues that are resolved with this PR.
- Closes #9893
2025-07-25 19:36:50 +00:00
af66c9844a docs(migration): Added step-by-step guide for the Keycloak to Zitadel migration (#10304)
Added a step-by-step guide for Keycloak to Zitadel migration for the
workshop tomorrow

---------

Signed-off-by: RAJAT SINGH <[email protected]>
Signed-off-by: Rajat Singh <[email protected]>
Co-authored-by: RAJAT SINGH <[email protected]>
Co-authored-by: Rajat Singh <[email protected]>
2025-07-23 14:18:41 -03:00
Mridang AgarwallaandGitHub 63b894908c docs: add initial docs for the new client-libraries (#10230)
# Which Problems Are Solved

The recently released client libraries were missing documentation, which
made it difficult for developers to understand and use the new features.

# How the Problems Are Solved

This pull request introduces the necessary documentation for the new
client libraries, covering their installation and basic usage.

# Additional Changes

None.

# Additional Context

This documentation supports the recent client library release.
2025-07-21 12:32:00 +05:30
25adfd91a2 feat: add Turkish language support (#10198)
- Turkish language support is added. 
- Updated other language files to add Turkish selection.

# Which Problems Are Solved

- Zitadel was not supporting Turkish language. Now supporting. 

# How the Problems Are Solved

- Turkish language files are added and updated other language files in
below paths to add Turkish support;
    -  /console/src/assets/i18n/
    - /internal/api/ui/login/static/i18n
    - /internal/notification/static/i18n
    - /internal/static/i18n

# Additional Changes

- Made changes below files for codes/docs changes;
    - /console/src/app/utils/language.ts
    - /console/src/app/app.module.ts
    - /docs/docs/guides/manage/customize/texts.md
- /internal/api/ui/login/static/templates/external_not_found_option.html
    - /internal/query/v2-default.json
    - /login/apps/login/src/lib/i18n.ts

---------

Co-authored-by: Marco A. <[email protected]>
2025-07-18 14:18:22 +02:00
27cd1d8518 docs(api): add new beta services to api reference (#10018)
# Which Problems Are Solved

The unreleased new resource apis have been removed from the docs:
https://github.com/zitadel/zitadel/pull/10015

# How the Problems Are Solved

Add them to the docs sidenav again, since they're now released.

# Additional Changes

none

# Additional Context

none

---------

Co-authored-by: Fabienne <[email protected]>
Co-authored-by: Marco Ardizzone <[email protected]>
2025-07-04 19:00:24 +02:00
a02a534cd2 feat: initial admin PAT has IAM_LOGIN_CLIENT (#10143)
# Which Problems Are Solved

We provide a seamless way to initialize Zitadel and the login together.

# How the Problems Are Solved

Additionally to the `IAM_OWNER` role, a set up admin user also gets the
`IAM_LOGIN_CLIENT` role if it is a machine user with a PAT.

# Additional Changes

- Simplifies the load balancing example, as the intermediate
configuration step is not needed anymore.

# Additional Context

- Depends on #10116 
- Contributes to https://github.com/zitadel/zitadel-charts/issues/332
- Contributes to https://github.com/zitadel/zitadel/issues/10016

---------

Co-authored-by: Stefan Benz <[email protected]>
2025-07-02 09:14:36 +00:00
b7d447e313 docs(legal): Update account-lockout-policy.md (#10124)
Review finished for the account lockout policy.

Main changes:

- Revised wording
- Removed free account from the policy scope
- Fixed broken link to the support form in the customer portal

---------

Co-authored-by: Maximilian <[email protected]>
2025-06-30 12:21:08 +00:00
Tim MöhlmannandGitHub 016676e1dc chore(oidc): graduate webkey to stable (#10122)
# Which Problems Are Solved

Stabilize the usage of webkeys.

# How the Problems Are Solved

- Remove all legacy signing key code from the OIDC API
- Remove the webkey feature flag from proto
- Remove the webkey feature flag from console
- Cleanup documentation

# Additional Changes

- Resolved some canonical header linter errors in OIDC
- Use the constant for `projections.lock` in the saml package.

# Additional Context

- Closes #10029
- After #10105
- After #10061
2025-06-26 19:17:45 +03:00
1ebbe275b9 chore(oidc): remove legacy storage methods (#10061)
# Which Problems Are Solved

Stabilize the optimized introspection code and cleanup unused code.

# How the Problems Are Solved

- `oidc_legacy_introspection` feature flag is removed and reserved.
- `OPStorage` which are no longer needed have their bodies removed.
- The method definitions need to remain in place so the interface
remains implemented.
  - A panic is thrown in case any such method is still called

# Additional Changes

- A number of `OPStorage` methods related to token creation were already
unused. These are also cleaned up.

# Additional Context

- Closes #10027 
- #7822

---------

Co-authored-by: Livio Spring <[email protected]>
2025-06-26 08:08:37 +00:00
Matías RacedoandGitHub 27f88a6390 docs(migration): Added step-by-step guide for the Auth0 to Zitadel migration (#10118)
Added a step-by-step guide for the Auth0 to Zitadel migration in
preparation for the upcoming workshop.
2025-06-25 12:44:11 -03:00
Fabienne BühlerandGitHub 0ae3f2a6ea docs: remove token exchange from "GA" list as we have some open issues (#10052)
# Which Problems Are Solved

Token Exchange will not move from Beta to GA feature, as there are still
some unsolved issues

# How the Problems Are Solved

Remove from roadmap
2025-06-11 11:23:39 +02:00
SilvanandGitHub 1e5ffd41c9 docs(10016): improve understanding of output (#10014)
# Which Problems Are Solved

The output of the sql statement of tech advisory was unclear on how the
data should be compared

# How the Problems Are Solved

An additional column is added to the output to show the effective
difference of the old and new position.
2025-06-03 15:18:16 +00:00
Fabienne BühlerandGitHub b8ff83454e docs: product roadmap and zitadel versions (#9838)
# Which Problems Are Solved

The current public roadmap can be hard to understand for customers and
it doesn't show the timelines for the different versions. which results
in a lot of requests.
It only outlines what is already fixed on the timeline, but doesn't give
any possibilities to outline future topics / features, which not yet
have a timeline

# How the Problems Are Solved

A new roadmap page is added
- Outline for each version when it will have which state
- Outline different zitadel versions with its features, deprecations,
breaking changes, etc.
- Show future topics, which are not yet on the roadmap
2025-06-03 13:44:04 +00:00
SilvanandGitHub b3d22dba05 docs(10016): cockroach compatibility (#10010)
# Which Problems Are Solved

If the sql statement of technical advisory 10016 gets executed on
cockroach the following error is raised:

```
ERROR: WITH clause "fixed" does not return any columns
SQLSTATE: 0A000
HINT: missing RETURNING clause?
```

# How the Problems Are Solved

Fixed the statement by adding `returning` to statement
2025-06-02 18:29:56 +03:00
Florian ForsterandGitHub 93a92446bf chore: update docusaurus to 3.8.0 (#9974)
> [!IMPORTANT]  
> We need to change the ENV `VERCEL_FORCE_NO_BUILD_CACHE` to `0` which
is currently `1` to enable the cache on all deployments

This pull request includes several updates to the documentation and
benchmarking components, focusing on improving performance, error
handling, and compatibility with newer versions of Docusaurus. The key
changes include the removal of outdated configurations, updates to
dependencies, and enhancements to the `BenchmarkChart` component for
better error handling and data validation.

### Documentation and Configuration Updates:

* **Removed outdated Babel and Webpack configurations**: The
`babel.config.js` file was deleted, and the Webpack configuration was
removed from `docusaurus.config.js` to align with the latest Docusaurus
setup.
[[1]](diffhunk://#diff-2ed4f5b03d34a87ef641e9e36af4a98a1c0ddaf74d07ce93665957be69b7b09aL1-L4)
[[2]](diffhunk://#diff-28742c737e523f302e6de471b7fc27284dc8cf720be639e6afe4c17a550cd654L204-L225)
* **Added experimental features in Docusaurus**: Introduced a `future`
section in `docusaurus.config.js` to enable experimental features like
`swcJsLoader`, `rspackBundler`, and `lightningCssMinimizer`, while
disabling problematic settings due to known issues.

### Dependency Updates:

* **Upgraded Docusaurus and related packages**: Updated dependencies in
`package.json` to use Docusaurus version `^3.8.0` and newer versions of
associated plugins and themes for improved performance and
compatibility.
[[1]](diffhunk://#diff-adfa337ce44dc2902621da20152a048dac41878cf3716dfc4cc56d03aa212a56L25-R39)
[[2]](diffhunk://#diff-adfa337ce44dc2902621da20152a048dac41878cf3716dfc4cc56d03aa212a56L66-R67)

### Component Enhancements:

* **Improved `BenchmarkChart` error handling**: Refactored the
`BenchmarkChart` component to validate input data, handle errors
gracefully, and provide meaningful fallback messages when data is
missing or invalid.
[[1]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eL4-R21)
[[2]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eR72-R76)
* **Fixed edge cases in chart rendering**: Addressed issues like invalid
timestamps, undefined `p99` values, and empty data sets to ensure robust
chart generation.
[[1]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eL19-L29)
[[2]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eL38-R61)

### Documentation Benchmark Updates:

* **Simplified imports in benchmark files**: Replaced the use of
`raw-loader` with direct imports for benchmark data in multiple `.mdx`
files to streamline the documentation setup.
[[1]](diffhunk://#diff-a9710709396e5ff6756aedf89dfcbd62aeea15368ba33bf3932ebf33046a29e8L66-R66)
[[2]](diffhunk://#diff-0a9b6103c97c58792450bfd2d337bbb8a6b72df2ae326cc56ebc96e01c0acd6bL35-R35)
[[3]](diffhunk://#diff-38f45388e065c57f1282a43bb319354da3c218e96d95ca20f4d11709f48491b8L36-R36)
[[4]](diffhunk://#diff-b8e792ebe42fcb16a493e35d23b58a91c2117d949953487e70f379c64e5cb7c0L36-R36)
[[5]](diffhunk://#diff-3778acfa893504004008b162fa95f21f1c7c40dcf1868bbbaaa504ac5d51901aL38-R38)
2025-05-30 08:15:28 +00:00
MaximilianandGitHub 5e87fafadf docs: fix broken link (#9988)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

Broken links on the default settings page.

# How the Problems Are Solved

Fixed the reference

# Additional Changes


# Additional Context
2025-05-29 20:23:43 +02:00
SilvanandGitHub 046b165db8 docs(a10016): add versions for v2.66 - v3 (#9908)
# Which Problems Are Solved

versions were missing in https://github.com/zitadel/zitadel/pull/9882

# How the Problems Are Solved

added versions for 2.66.x, 2.67.x, 2.68.x, 2.69.x, 2.70.x, 2.71.x, 3.x

# Additional Context

can be merged after:

- https://github.com/zitadel/zitadel/pull/9901
- https://github.com/zitadel/zitadel/pull/9903
- https://github.com/zitadel/zitadel/pull/9904
- https://github.com/zitadel/zitadel/pull/9907
- https://github.com/zitadel/zitadel/pull/9905
- https://github.com/zitadel/zitadel/pull/9906
- https://github.com/zitadel/zitadel/pull/9916
2025-05-28 08:47:42 +00:00
Livio SpringandGitHub 4d66a786c8 feat: JWT IdP intent (#9966)
# Which Problems Are Solved

The login v1 allowed to use JWTs as IdP using the JWT IDP. The login V2
uses idp intents for such cases, which were not yet able to handle JWT
IdPs.

# How the Problems Are Solved

- Added handling of JWT IdPs in `StartIdPIntent` and `RetrieveIdPIntent`
- The redirect returned by the start, uses the existing `authRequestID`
and `userAgentID` parameter names for compatibility reasons.
- Added `/idps/jwt` endpoint to handle the proxied (callback) endpoint ,
which extracts and validates the JWT against the configured endpoint.

# Additional Changes

None

# Additional Context

- closes #9758
2025-05-27 16:26:46 +02:00
2cf3ef4de4 feat: federated logout for SAML IdPs (#9931)
# Which Problems Are Solved

Currently if a user signs in using an IdP, once they sign out of
Zitadel, the corresponding IdP session is not terminated. This can be
the desired behavior. In some cases, e.g. when using a shared computer
it results in a potential security risk, since a follower user might be
able to sign in as the previous using the still open IdP session.

# How the Problems Are Solved

- Admins can enabled a federated logout option on SAML IdPs through the
Admin and Management APIs.
- During the termination of a login V1 session using OIDC end_session
endpoint, Zitadel will check if an IdP was used to authenticate that
session.
- In case there was a SAML IdP used with Federated Logout enabled, it
will intercept the logout process, store the information into the shared
cache and redirect to the federated logout endpoint in the V1 login.
- The V1 login federated logout endpoint checks every request on an
existing cache entry. On success it will create a SAML logout request
for the used IdP and either redirect or POST to the configured SLO
endpoint. The cache entry is updated with a `redirected` state.
- A SLO endpoint is added to the `/idp` handlers, which will handle the
SAML logout responses. At the moment it will check again for an existing
federated logout entry (with state `redirected`) in the cache. On
success, the user is redirected to the initially provided
`post_logout_redirect_uri` from the end_session request.

# Additional Changes

None

# Additional Context

- This PR merges the https://github.com/zitadel/zitadel/pull/9841 and
https://github.com/zitadel/zitadel/pull/9854 to main, additionally
updating the docs on Entra ID SAML.
- closes #9228 
- backport to 3.x

---------

Co-authored-by: Silvan <[email protected]>
Co-authored-by: Zach Hirschtritt <[email protected]>
2025-05-23 13:52:25 +02:00
Marco A.andGitHub 7861024ea2 docs: fix Go backend example (#9864)
# Which Problems Are Solved

This PR aims to clarify how to use the zitadel SDK with OAuth token
introspection.

# How the Problems Are Solved

Reworked the setup process on console needed to create the JSON key and
a PAT.

# Additional Changes

- Closes #5559
2025-05-20 15:21:30 +03:00
056b01f78d fix: typoe in "Migrate from ZITADEL" documentation (#9867)
# Which Problems Are Solved

- Fixed a typoe in ["Migrate from ZITADEL"
documentation](https://zitadel.com/docs/guides/migrate/sources/zitadel#authorization)

Co-authored-by: Fabienne Bühler <[email protected]>
2025-05-19 07:11:54 +00:00
Juriaan KennedyandGitHub 38013d0e84 feat(crypto): support for SHA2 and PHPass password hashes (#9809)
# Which Problems Are Solved

- Allow users to use SHA-256 and SHA-512 hashing algorithms. These
algorithms are used by Linux's crypt(3) function.
- Allow users to import passwords using the PHPass algorithm. This
algorithm is used by older PHP systems, WordPress in particular.

# How the Problems Are Solved

- Upgrade passwap to
[v0.9.0](https://github.com/zitadel/passwap/releases/tag/v0.9.0)
- Add sha2 and phpass as a new verifier option in defaults.yaml

# Additional Changes

- Updated docs to explain the two algorithms

# Additional Context
Implements the changes in the passwap library from
https://github.com/zitadel/passwap/pull/59 and
https://github.com/zitadel/passwap/pull/60
2025-05-16 15:53:45 +00:00
Fabienne BühlerandGitHub fefe9d27a0 docs: fix typo in email notification provider description (#9890) 2025-05-16 10:07:02 +00:00
Tim MöhlmannandGitHub 4480cfcf56 docs(advisory): position precision fix (#9882)
# Which Problems Are Solved

We are deploying precision fixes on the `position` values of the
eventstore. The fix itself might break systems that were already
affected by the bug.

# How the Problems Are Solved

Add a technical advisory that explains background and steps to fix the
Zitadel database when affected.

# Additional Context

- Original issue: [8671](https://github.com/zitadel/zitadel/issues/8671)
- Follow-up issue:
[8863](https://github.com/zitadel/zitadel/issues/8863)
- Re-fix: https://github.com/zitadel/zitadel/pull/9881
2025-05-16 10:41:35 +02:00
577bf9c710 docs(legal): Update to DPA and privacy policy documents (May 2025) (#9566)
We are bringing our DPA and privacy policy document in line with our
changes to the corporate structure, changes to subprocessors, and new
cookie technologies.

This PR replaces #3055 which included more changes to terms of service.
The changes to terms of service will follow in a second step.

---------

Co-authored-by: Florian Forster <[email protected]>
2025-05-07 15:58:21 +00:00
181186e477 fix(mirror): add max auth request age configuration (#9812)
# Which Problems Are Solved

The `auth.auth_requests` table is not cleaned up so long running Zitadel
installations can contain many rows.
 
The mirror command can take long because a the data are first copied
into memory (or disk) on cockroach and users do not get any output from
mirror. This is unfortunate because people don't know if Zitadel got
stuck.

# How the Problems Are Solved

Enhance logging throughout the projection processes and introduce a
configuration option for the maximum age of authentication requests.

# Additional Changes

None

# Additional Context

closes https://github.com/zitadel/zitadel/issues/9764

---------

Co-authored-by: Livio Spring <[email protected]>
2025-04-29 15:29:16 +00:00
Elio BischofandGitHub fa3efd9da3 docs: fix Illegal byte sequence (#9750)
# Which Problems Are Solved

In some docs pages, we propose to generate a Zitadel masterkey using the
command `tr -dc A-Za-z0-9 </dev/urandom | head -c 32`. However, this
fails on some systems/locations with the error message `tr: Illegal byte
sequence`.

# How the Problems Are Solved

We replace the command by this more portable variant: `LC_ALL=C tr -dc
'[:graph:]' </dev/urandom | head -c 32`

# Additional Changes

None

# Additional Context

Found by @fcoppede while testing #9496. The new command works for him.
2025-04-29 14:33:23 +00:00
Elio BischofandGitHub c36b0ab2e2 docs(self-hosting): add login to lb example (#9496)
# Which Problems Are Solved

We have no docs for self-hosting the login using the standard login as a
standalone docker container.

# How the Problems Are Solved

A common self-hosting case is to publish the login at the same domain as
Zitadel behind a reverse proxy.
That's why we extend the load balancing example.
We refocus the example from *making TLS work* to *running multiple
services behind the proxy and connect them using an internal network and
DNS*. I decided this together with @fforootd.

For authenticating with the login application, we have to set up a
service user and give it the role IAM_LOGIN_CLIENT. We do so in the
use-new-login "job" container as `zitadel setup` only supports Zitadel
users with the role IAM_ADMIN AFAIR.

The login application relies on a healthy Zitadel API on startup, which
is why we fix the containers readiness reports.

# Additional Changes

- We deploy the init and setup jobs independently, because this better
reflects our production recommendatinons.
It gives more control over the upgrade process.
- We use the ExternalDomain *127.0.0.1.sslip.io* instead of *my.domain*,
because this doesn't require changing the local DNS resolution by
changing */etc/hosts* for local tests.

# Testing

The commands in the preview docs use to the configuration files on main.
This is fine when the PR is merged but not for testing the PR.
Replace the used links to make them point to the PRs changed files.
Instead of the commands in the preview docs, use these: 

```bash
# Download the docker compose example configuration.
wget https://raw.githubusercontent.com/zitadel/zitadel/refs/heads/docs-compose-login/docs/docs/self-hosting/deploy/loadbalancing-example/docker-compose.yaml

# Download the Traefik example configuration.
wget https://raw.githubusercontent.com/zitadel/zitadel/refs/heads/docs-compose-login/docs/docs/self-hosting/deploy/loadbalancing-example/example-traefik.yaml

# Download and adjust the example configuration file containing standard configuration.
wget https://raw.githubusercontent.com/zitadel/zitadel/refs/heads/docs-compose-login/docs/docs/self-hosting/deploy/loadbalancing-example/example-zitadel-config.yaml

# Download and adjust the example configuration file containing secret configuration.
wget https://raw.githubusercontent.com/zitadel/zitadel/refs/heads/docs-compose-login/docs/docs/self-hosting/deploy/loadbalancing-example/example-zitadel-secrets.yaml

# Download and adjust the example configuration file containing database initialization configuration.
wget https://raw.githubusercontent.com/zitadel/zitadel/refs/heads/docs-compose-login/docs/docs/self-hosting/deploy/loadbalancing-example/example-zitadel-init-steps.yaml

# A single ZITADEL instance always needs the same 32 bytes long masterkey
# Generate one to a file if you haven't done so already and pass it as environment variable
LC_ALL=C tr -dc '[:graph:]' </dev/urandom | head -c 32 > ./zitadel-masterkey
export ZITADEL_MASTERKEY="$(cat ./zitadel-masterkey)"

# Run the database and application containers
docker compose up --detach --wait
```

# Additional Context

- Closes https://github.com/zitadel/DevOps/issues/111
- Depends on https://github.com/zitadel/typescript/pull/412
- Contributes to road map item
https://github.com/zitadel/zitadel/issues/9481
2025-04-29 14:12:34 +00:00
intelli-joeandGitHub 205beb607b fix: update link to postgres-insecure example in docs (#9802)
Fix reference to postgres-insecure example in docs
2025-04-28 13:22:04 +00:00
Allen OyiekeandGitHub a9dd78a132 docs: fix typo in Java SDK example document (#9804)
# Which Problems Are Solved
This PR resolves the issue #9648 

# How the Problems Are Solved
Resolves a typo in the documentation


# Additional Context

- Closes  #9648 
- Discussion  #9648
2025-04-28 09:53:31 +00:00
b8ba7bd5ba fix: remove action feature flag and include execution (#9727)
# Which Problems Are Solved

Actions v2 is not a feature flag anymore, include functionality on
executions is not used and json tags of proto messages are handled
incorrectly.

# How the Problems Are Solved

- Remove actions from the feature flags on system and instance level
- Remove include type on executions, only in the API, later maybe in the
handling logic as well
- Use protojson in request and response handling of actions v2

# Additional Changes

- Correct integration tests for request and response handling
- Use json.RawMessage for events, so that the event payload is not
base64 encoded
- Added separate context for async webhook calls, that executions are
not cancelled when called async

# Additional Context

Related to #9759 
Closes #9710

---------

Co-authored-by: Livio Spring <[email protected]>
2025-04-28 11:24:50 +02:00
Max PeintnerandGitHub 44651b6e8d docs: improve readability of idps callback (#9793)
This PR improves the readability of the difference in the IDP callback
of the new V2 login compared to the legacy login.
2025-04-24 09:01:01 +02:00
8d28e727e1 docs: remove unused scopes/claims (#9786)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

Removed the scopes/claims that were not used.

# How the Problems Are Solved

Made small changes in readme that fixes it.

Signed-off-by: RAJAT SINGH <[email protected]>
Co-authored-by: RAJAT SINGH <[email protected]>
2025-04-24 06:38:40 +00:00