From 87e8ac48aecc2240b87551c4b51b44e7f9ff7a93 Mon Sep 17 00:00:00 2001 From: Stefan Benz <46600784+stebenz@users.noreply.github.com> Date: Thu, 12 Sep 2024 09:30:56 +0200 Subject: [PATCH 01/13] chore: fix crdb version on v24.2.1 (#8607) Fix crdb to version v24.2.1 for e2e tests --- e2e/config/localhost/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/config/localhost/docker-compose.yaml b/e2e/config/localhost/docker-compose.yaml index 7ec0f28c5c..a14c0dd603 100644 --- a/e2e/config/localhost/docker-compose.yaml +++ b/e2e/config/localhost/docker-compose.yaml @@ -32,7 +32,7 @@ services: db: restart: 'always' - image: 'cockroachdb/cockroach:latest' + image: 'cockroachdb/cockroach:v24.2.1' command: 'start-single-node --insecure --http-addr :9090' healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:9090/health?ready=1'] From 0db92c69d4cd5974fdd5ff347684c540394abbf6 Mon Sep 17 00:00:00 2001 From: hofq <54744977+hofq@users.noreply.github.com> Date: Thu, 12 Sep 2024 12:22:06 +0200 Subject: [PATCH 02/13] docs: upstream sent too big header while reading response header from upstream (#8466) # Which Problems Are Solved - If you operate Zitadel behind a Reverse Proxy or Ingress inside a Kubernetes cluster, you may encounter an Error like `upstream sent too big header while reading response header from upstream` - The Docs explain how to solve it # How the Problems Are Solved - Adding Troubleshooting Docs for too big upstream header, so people that search for it find a solution. --------- Co-authored-by: Elio Bischof --- .../troubleshooting/_upstream_header.mdx | 37 +++++++++++++++++++ .../troubleshooting/troubleshooting.mdx | 8 +++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 docs/docs/self-hosting/deploy/troubleshooting/_upstream_header.mdx diff --git a/docs/docs/self-hosting/deploy/troubleshooting/_upstream_header.mdx b/docs/docs/self-hosting/deploy/troubleshooting/_upstream_header.mdx new file mode 100644 index 0000000000..773e32aff7 --- /dev/null +++ b/docs/docs/self-hosting/deploy/troubleshooting/_upstream_header.mdx @@ -0,0 +1,37 @@ +If you operate Zitadel behind a Reverse Proxy or Ingress inside a Kubernetes cluster, +you may encounter an Error like `upstream sent too big header while reading response header from upstream` +in your NGINX Logs and receive a 403 Error when accessing NGINX. + +you can solve it by increasing the grpc buffer size in your nginx config: + +### Ingress NGINX +```yaml +ingress: +enabled: true +annotations: + nginx.ingress.kubernetes.io/modsecurity-snippet: | + SecRuleRemoveById 949110 + nginx.ingress.kubernetes.io/backend-protocol: "GRPC" + nginx.ingress.kubernetes.io/configuration-snippet: | + grpc_set_header Host $host; + more_clear_input_headers "Host" "X-Forwarded-Host"; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Host $http_x_forwarded_host; + # highlight-next-line + nginx.ingress.kubernetes.io/server-snippet: "grpc_buffer_size 8k;" +``` +### NGINX Config +```nginx + http { + server { + listen 80; + http2 on; + location / { + grpc_pass grpc://zitadel-disabled-tls:8080; + grpc_set_header Host $host:$server_port; + # highlight-next-line + grpc_buffer_size 8k; + } + } + } +``` \ No newline at end of file diff --git a/docs/docs/self-hosting/deploy/troubleshooting/troubleshooting.mdx b/docs/docs/self-hosting/deploy/troubleshooting/troubleshooting.mdx index 911aceace3..a778c23946 100644 --- a/docs/docs/self-hosting/deploy/troubleshooting/troubleshooting.mdx +++ b/docs/docs/self-hosting/deploy/troubleshooting/troubleshooting.mdx @@ -3,8 +3,14 @@ title: Troubleshoot ZITADEL --- import InstanceNotFound from '/docs/self-hosting/deploy/troubleshooting/_instance_not_found.mdx'; +import UpstreamHeader from '/docs/self-hosting/deploy/troubleshooting/_upstream_header.mdx' ## Instance not found - \ No newline at end of file + + + +## upstream sent too big header while reading response header from upstream + + \ No newline at end of file From 3b140a67c8ff07e112be6be93e08ff5664bdb23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20M=C3=B6hlmann?= Date: Thu, 12 Sep 2024 15:36:33 +0300 Subject: [PATCH 03/13] fix(oidc): always set sub claim (#8598) # Which Problems Are Solved When the `openid` scope was not requested, as is possible in machine authentication, we didn't set the `sub` (subject) claim to tokens and possibly also userInfo and introspection. This fix always sets the `sub` claim for all cases. # How the Problems Are Solved Set the `Subject` field to regardless of passed scopes. # Additional Changes - none # Additional Context According to standards: - [RFC9068 - JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens](https://datatracker.ietf.org/doc/html/rfc9068#name-data-structure) this claim is **required**. - [RFC7667 - OAuth 2.0 Token Introspection](https://datatracker.ietf.org/doc/html/rfc7662#section-2.2) the claim is optional, however there is no correlation to the `openid` or OpenID Connect. Therefore it doesn't harm to always return this claim. - [OpenID connect, User Info Response](https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse): "The sub (subject) Claim **MUST** always be returned in the UserInfo Response." Closes https://github.com/zitadel/zitadel/issues/8591 --- internal/api/oidc/userinfo.go | 6 ++--- internal/api/oidc/userinfo_test.go | 36 ++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/internal/api/oidc/userinfo.go b/internal/api/oidc/userinfo.go index e023d7a63d..542ea6a083 100644 --- a/internal/api/oidc/userinfo.go +++ b/internal/api/oidc/userinfo.go @@ -163,11 +163,11 @@ func prepareRoles(ctx context.Context, scope []string, projectID string, project } func userInfoToOIDC(user *query.OIDCUserInfo, userInfoAssertion bool, scope []string, assetPrefix string) *oidc.UserInfo { - out := new(oidc.UserInfo) + out := &oidc.UserInfo{ + Subject: user.User.ID, + } for _, s := range scope { switch s { - case oidc.ScopeOpenID: - out.Subject = user.User.ID case oidc.ScopeEmail: if !userInfoAssertion { continue diff --git a/internal/api/oidc/userinfo_test.go b/internal/api/oidc/userinfo_test.go index 741f7eed36..2646cc9030 100644 --- a/internal/api/oidc/userinfo_test.go +++ b/internal/api/oidc/userinfo_test.go @@ -280,14 +280,18 @@ func Test_userInfoToOIDC(t *testing.T) { args: args{ user: humanUserInfo, }, - want: &oidc.UserInfo{}, + want: &oidc.UserInfo{ + Subject: "human1", + }, }, { name: "machine, empty", args: args{ user: machineUserInfo, }, - want: &oidc.UserInfo{}, + want: &oidc.UserInfo{ + Subject: "machine1", + }, }, { name: "human, scope openid", @@ -317,6 +321,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{oidc.ScopeEmail}, }, want: &oidc.UserInfo{ + Subject: "human1", UserInfoEmail: oidc.UserInfoEmail{ Email: "foo@bar.com", EmailVerified: true, @@ -329,7 +334,9 @@ func Test_userInfoToOIDC(t *testing.T) { user: humanUserInfo, scope: []string{oidc.ScopeEmail}, }, - want: &oidc.UserInfo{}, + want: &oidc.UserInfo{ + Subject: "human1", + }, }, { name: "machine, scope email, profileInfoAssertion", @@ -338,7 +345,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{oidc.ScopeEmail}, }, want: &oidc.UserInfo{ - UserInfoEmail: oidc.UserInfoEmail{}, + Subject: "machine1", }, }, { @@ -349,6 +356,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{oidc.ScopeProfile}, }, want: &oidc.UserInfo{ + Subject: "human1", UserInfoProfile: oidc.UserInfoProfile{ Name: "xxx", GivenName: "user", @@ -370,6 +378,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{oidc.ScopeProfile}, }, want: &oidc.UserInfo{ + Subject: "machine1", UserInfoProfile: oidc.UserInfoProfile{ Name: "machine", UpdatedAt: oidc.FromTime(time.Unix(567, 890)), @@ -383,7 +392,9 @@ func Test_userInfoToOIDC(t *testing.T) { user: machineUserInfo, scope: []string{oidc.ScopeProfile}, }, - want: &oidc.UserInfo{}, + want: &oidc.UserInfo{ + Subject: "machine1", + }, }, { name: "human, scope phone, profileInfoAssertion", @@ -393,6 +404,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{oidc.ScopePhone}, }, want: &oidc.UserInfo{ + Subject: "human1", UserInfoPhone: oidc.UserInfoPhone{ PhoneNumber: "+31123456789", PhoneNumberVerified: true, @@ -405,7 +417,9 @@ func Test_userInfoToOIDC(t *testing.T) { user: humanUserInfo, scope: []string{oidc.ScopePhone}, }, - want: &oidc.UserInfo{}, + want: &oidc.UserInfo{ + Subject: "human1", + }, }, { name: "machine, scope phone", @@ -414,6 +428,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{oidc.ScopePhone}, }, want: &oidc.UserInfo{ + Subject: "machine1", UserInfoPhone: oidc.UserInfoPhone{}, }, }, @@ -424,6 +439,8 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{ScopeUserMetaData}, }, want: &oidc.UserInfo{ + Subject: "human1", + UserInfoEmail: oidc.UserInfoEmail{}, Claims: map[string]any{ ClaimUserMetaData: map[string]string{ "key1": base64.RawURLEncoding.EncodeToString([]byte{1, 2, 3}), @@ -438,7 +455,9 @@ func Test_userInfoToOIDC(t *testing.T) { user: machineUserInfo, scope: []string{ScopeUserMetaData}, }, - want: &oidc.UserInfo{}, + want: &oidc.UserInfo{ + Subject: "machine1", + }, }, { name: "machine, scope resource owner", @@ -447,6 +466,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{ScopeResourceOwner}, }, want: &oidc.UserInfo{ + Subject: "machine1", Claims: map[string]any{ ClaimResourceOwnerID: "orgID", ClaimResourceOwnerName: "orgName", @@ -461,6 +481,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{domain.OrgDomainPrimaryScope + "foo.com"}, }, want: &oidc.UserInfo{ + Subject: "human1", Claims: map[string]any{ domain.OrgDomainPrimaryClaim: "foo.com", }, @@ -473,6 +494,7 @@ func Test_userInfoToOIDC(t *testing.T) { scope: []string{domain.OrgIDScope + "orgID"}, }, want: &oidc.UserInfo{ + Subject: "machine1", Claims: map[string]any{ domain.OrgIDClaim: "orgID", ClaimResourceOwnerID: "orgID", From 3d87220180aa9dfc724496d6c9d7a856fd3098bd Mon Sep 17 00:00:00 2001 From: Max Peintner Date: Fri, 13 Sep 2024 09:04:18 +0200 Subject: [PATCH 04/13] docs: typescript repo update (#8563) The typescript repository documentation is updated --------- Co-authored-by: Fabi Co-authored-by: Livio Spring --- .../integrate/login-ui/typescript-repo.mdx | 32 ++++++++++++------ .../img/typescript-login-architecture.png | Bin 88806 -> 70661 bytes 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/docs/docs/guides/integrate/login-ui/typescript-repo.mdx b/docs/docs/guides/integrate/login-ui/typescript-repo.mdx index 4c864cbc90..d1a3f1d877 100644 --- a/docs/docs/guides/integrate/login-ui/typescript-repo.mdx +++ b/docs/docs/guides/integrate/login-ui/typescript-repo.mdx @@ -12,8 +12,6 @@ The typescript repository contains all TypeScript and JavaScript packages and ap - `@zitadel/proto`: Typescript implementation of Protocol Buffers, suitable for web browsers and Node.js. - `@zitadel/client`: Core components for establishing a client connection - `@zitadel/node`: Core components for establishing a server connection -- `@zitadel/react`: Shared React Utilities and components built with Tailwind CSS -- `@zitadel/next`: Shared Next.js Utilities - `@zitadel/tsconfig`: shared `tsconfig.json`s used throughout the monorepo - `eslint-config-zitadel`: ESLint preset @@ -47,10 +45,13 @@ It does so by redirecting to `/login`. The login is then able to load an [AuthRequest](/docs/apis/resources/oidc_service_v2/oidc-service-get-auth-request#get-oidc-auth-request-details). The Auth Request defines how users proceed to authenticate. If no special prompts or scopes are set, the login brings up the `/loginname` page. -The /loginname page allows to enter loginname or email of a user. User discovery is implemented at /api/loginname and if the user is found, they will be redirected to the available authentication method page. -Right after the user is found, a session is created and set as cookie. -This cookie is then hydrated with more information once the users continues. +The /loginname page allows to enter loginname or email of a user which is then used to search for a user. +If the user is found, a session is created and set as cookie, then the user is redirected to the available authentication method page. +While the users continues and provides more information, the cookie is hydrated with this information until a final state is reached. + +The communication from the browser to the server is done by [NextJS Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations). The OIDC Auth request is always passed in the url to have a context to the ongoing authentication flow. + If enough user information is retrieved and the user is authenticated according to the policies, the flow is finalized by [requesting a the callback url](/docs/apis/resources/oidc_service_v2/oidc-service-create-callback) for the auth request and the user is redirected back to the application. The application can then request a token calling the /token endpoint of the login which is proxied to the ZITADEL API. @@ -91,9 +92,9 @@ The application can then request a token calling the /token endpoint of the logi - [x] Passkey - [x] IDPs - [x] Google - - [ ] GitHub + - [x] GitHub - [x] GitLab - - [ ] Azure + - [x] Azure - [ ] Apple - Register - [x] Email Password @@ -113,7 +114,7 @@ Authenticated users are directly able to self service their account. - [x] OTP via email - [x] OTP via SMS - [x] Setup Multifactor Passkey (U2F) -- [ ] Validate Account (email verification) +- [x] Validate Account (email verification) ### Setup @@ -122,10 +123,18 @@ In order to run the new login app, make sure to follow the instructions in the [ #### How to setup domains for OIDC When setting up the new login app for OIDC, the domain must be registered on your instance and use https. -If you are using a self hosted instance, [install](/docs/apis/resources/system/system-service-add-domain) your domain on your instance using the system service. +To register your login domain on your instance, [add](/docs/apis/resources/admin/admin-service-add-instance-trusted-domain) your domain on your instances trusted domains. -If you want to use the login with your cloud instance, you can purchase your domain on zitadel.com, install it on your domain following [our guide](/docs/guides/manage/cloud/instances#add-custom-domain). -After your domain has been verified, you can reconfigure your DNS settings in order to deploy the login on your own. +#### OIDC Proxy + +When setting up the new login app for OIDC, ensure it meets the following requirements: + +- The OIDC Proxy is deployed and running on HTTPS +- The OIDC Proxy sets `x-zitadel-login-client` which is the user ID of the service account +- The OIDC Proxy sets `x-zitadel-public-host` which is the host, your login is deployed to `ex. login.example.com`. +- The OIDC Proxy sets `x-zitadel-instance-host` which is the host of your instance `ex. test-hdujwl.zitadel.cloud`. + +You can review an example implementation of a middlware [here](https://github.com/zitadel/typescript/blob/main/apps/login/src/middleware.ts). #### Deploy to Vercel @@ -135,5 +144,6 @@ To deploy your own version on Vercel, navigate to your instance and create a ser Copy its id from the overview and set it as `ZITADEL_SERVICE_USER_ID`. Then create a personal access token (PAT), copy and set it as `ZITADEL_SERVICE_USER_TOKEN`, then navigate to Default settings and make sure it gets `IAM_OWNER` permissions. Finally set your instance url as `ZITADEL_API_URL`. Make sure to set it without trailing slash. +Also ensure your login domain is registered on your instance by adding it as a [trusted domain](/docs/apis/resources/admin/admin-service-add-instance-trusted-domain). ![Deploy to Vercel](/img/deploy-to-vercel.png) diff --git a/docs/static/img/typescript-login-architecture.png b/docs/static/img/typescript-login-architecture.png index eac2ed4e70505ddfca875de44f9557c12b3898d5..9b3c05535f8ca0e20bd661cbaa21578babc79849 100644 GIT binary patch literal 70661 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 literal 88806 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 z

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 N(;B+CqLY_{{sr119QFVJ From 289378713e0f47f4316536f7ffeb40eb83f628b4 Mon Sep 17 00:00:00 2001 From: Stefan Benz <46600784+stebenz@users.noreply.github.com> Date: Fri, 13 Sep 2024 15:22:25 +0200 Subject: [PATCH 05/13] fix: smtp provider (#8610) There were some problems after changing from SMTP providers to email providers (https://github.com/zitadel/zitadel/pull/8545): - panic (nil pointer) on SMTP provider retrieval for HTTP configs - old SMTP configuration created before the multi SMTP configurations (without id) - were not projected / listed - could not be always be activated - Console treated HTTP configs as SMTP --------- Co-authored-by: Livio Spring --- .../smtp-table/smtp-table.component.html | 14 +-- .../smtp-table/smtp-table.component.ts | 3 + internal/api/grpc/admin/smtp_converters.go | 23 ++-- .../command/instance_smtp_config_model.go | 1 + internal/command/sms_config_model.go | 2 + internal/query/projection/smtp.go | 4 +- internal/query/projection/smtp_test.go | 105 ++++++++++++++---- internal/query/smtp_test.go | 40 +++---- 8 files changed, 132 insertions(+), 60 deletions(-) diff --git a/console/src/app/modules/smtp-table/smtp-table.component.html b/console/src/app/modules/smtp-table/smtp-table.component.html index 3359eda596..b71a7fcefd 100644 --- a/console/src/app/modules/smtp-table/smtp-table.component.html +++ b/console/src/app/modules/smtp-table/smtp-table.component.html @@ -24,7 +24,7 @@ {{ 'SMTP.LIST.ACTIVATED' | translate }} - + {{ 'SETTING.SMTP.DESCRIPTION' | translate }} - + {{ config?.description }} @@ -45,22 +45,22 @@ TLS - + - + {{ 'SETTING.SMTP.HOSTANDPORT' | translate }} - + {{ config?.host }} {{ 'SETTING.SMTP.SENDERADDRESS' | translate }} - + {{ config?.senderAddress }} @@ -95,7 +95,7 @@