feat(session): Password Check API with relation tables (#11804)

# Which Problems Are Solved

As part of #11035 , this PR implements the password check logic for
session validation

# How the Problems Are Solved

- Add system config to default configuration of `domain` package for
easy initialization. Intialize the system settings when Zitadel starts
up
- Add password hasher verify logic to the default configuration of
`domain` package. Initialize it when Zitadel starts up.
  - Add settings repositories with their mocks
  - Implement the logic for doing a password check

# Additional Context

This is a cherry-picked PR + minor changes, coming from
https://github.com/zitadel/zitadel/pull/11164
- Relates to #11035
- Depends on https://github.com/zitadel/zitadel/pull/11777
This commit is contained in:
Marco A.
2026-03-13 11:40:48 +01:00
committed by GitHub
parent d08779e279
commit 3c3201e5a0
26 changed files with 12932 additions and 2 deletions
+4
View File
@@ -19,6 +19,7 @@ import (
"github.com/go-jose/go-jose/v4"
"github.com/zitadel/logging"
new_domain "github.com/zitadel/zitadel/backend/v3/domain"
"github.com/zitadel/zitadel/internal/api/authz"
api_http "github.com/zitadel/zitadel/internal/api/http"
"github.com/zitadel/zitadel/internal/cache/connector"
@@ -152,6 +153,9 @@ func StartCommands(
if err != nil {
return nil, fmt.Errorf("password hasher: %w", err)
}
new_domain.SetPasswordHasher(userPasswordHasher)
caches, err := startCaches(ctx, cacheConnectors)
if err != nil {
return nil, fmt.Errorf("caches: %w", err)