chore(docs): fix links for domain migration (#4831)

* chore(docs): fix links for domain migration

* try trailing slash for netlify

* trial

* fix typo

* test path

* try preview proxied

* test local proxy

* try to define the domain with redirect to /docs

* remove build commands

* debug netlify router and fix image link

* working config

* fix analytics
This commit is contained in:
Florian Forster
2022-12-06 20:33:13 +01:00
committed by GitHub
parent 3539418a4a
commit 065250a108
49 changed files with 210 additions and 201 deletions
+2 -2
View File
@@ -1,9 +1,9 @@
## What's next
For running a production grade ZITADEL instance in your environment, go on with the [configure ZITADEL](/docs/guides/manage/self-hosted/configure) section.
For running a production grade ZITADEL instance in your environment, go on with the [configure ZITADEL](/guides/manage/self-hosted/configure) section.
:::caution
<!-- TODO: Better mark the link in the UI -->
The ZITADEL management console [requires end-to-end HTTP/2 support](/docs/guides/manage/self-hosted/http2)
The ZITADEL management console [requires end-to-end HTTP/2 support](/guides/manage/self-hosted/http2)
@@ -9,7 +9,7 @@ The ZITADEL System API is currently only available for ZITADEL Self-Hosted deplo
## System API User
The System API works superordinate over all instances. Therefore, you need to define a separate users to get access to this API.
You can do so by customizing the [runtime configuration](/docs/guides/manage/self-hosted/configure#runtime-configuration).
You can do so by customizing the [runtime configuration](/guides/manage/self-hosted/configure#runtime-configuration).
To authenticate the user a self-signed JWT will be created and utilized.
@@ -16,7 +16,7 @@ export default function CreateApp(props) {
</p>
<img
alt="Add application"
src="/img/guides/console/addapplication.png"
src="/docs/img/guides/console/addapplication.png"
width="120px"
/>
<p>
@@ -24,7 +24,7 @@ export default function CreateApp(props) {
</p>
<img
alt={"create " + props.appType + " preview"}
src={"/img/guides/application/create-" + props.appType + "-app.png"}
src={"/docs/img/guides/application/create-" + props.appType + "-app.png"}
/>
<h3>Select the authentication method</h3>
<p>
@@ -84,7 +84,7 @@ export const pkce = () => (
<td>
<img
width="300px"
src="/img/guides/application/pkce-logo-dark.png"
src="/docs/img/guides/application/pkce-logo-dark.png"
alt="pkce preview"
/>
</td>
@@ -100,7 +100,7 @@ export const code = () => (
<td>
<img
width="300px"
src="/img/guides/application/code-logo-dark.png"
src="/docs/img/guides/application/code-logo-dark.png"
alt="code preview"
/>
</td>
@@ -116,7 +116,7 @@ export const jwt = () => (
<td>
<img
width="300px"
src="/img/guides/application/jwt-logo-dark.png"
src="/docs/img/guides/application/jwt-logo-dark.png"
alt="jwt preview"
/>
</td>
@@ -136,7 +136,7 @@ export const post = () => (
<td>
<img
width="300px"
src="/img/guides/application/post-logo-dark.png"
src="/docs/img/guides/application/post-logo-dark.png"
alt="post preview"
/>
</td>
@@ -155,7 +155,7 @@ export const implicit = () => (
<td>
<img
width="300px"
src="/img/guides/application/implicit-logo-dark.png"
src="/docs/img/guides/application/implicit-logo-dark.png"
alt="Implicit preview"
/>
</td>
@@ -174,7 +174,7 @@ export const basic = () => (
<td>
<img
width="300px"
src="/img/guides/application/basic-logo-dark.png"
src="/docs/img/guides/application/basic-logo-dark.png"
alt="Basic preview"
/>
</td>
@@ -11,7 +11,7 @@ export default function GenerateKey(props) {
<img
width="400px"
alt="Generate key"
src="/img/guides/application/generate-key.png"
src="/docs/img/guides/application/generate-key.png"
/>
</div>
) : null;
@@ -44,7 +44,7 @@ export default function RedirectURIs(props) {
<img
width="600px"
alt="Redirect URIs configuration"
src={"/img/guides/application/redirect-uris.png"}
src={"/docs/img/guides/application/redirect-uris.png"}
/>
</div>
) : null;
@@ -22,7 +22,7 @@ export default function ReviewConfig(props) {
</p>
<img
alt="client infos"
src={`/img/guides/application/client-${clientObjects.join("-")}.png`}
src={`/docs/img/guides/application/client-${clientObjects.join("-")}.png`}
width="700px"
/>
</div>
@@ -21,12 +21,12 @@ the authentication process. The latter is used to bind the client session with t
You don't need any additional parameter for this request. We're identifying the app by the `client_id` parameter.
Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -43,7 +43,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
@@ -56,7 +56,7 @@ Next you will have to exchange the given `code` for the tokens. For this HTTP PO
Depending on your authentication method you'll need additional headers and parameters:
Send your `client_id` and `client_secret` as Basic Auth Header. Note that OAuth2 requires client_id and client_secret to be form url encoded.
So check [Client Secret Basic Auth Method](/docs/apis/openidoauth/authn-methods#client-secret-basic) on how to build it correctly.
So check [Client Secret Basic Auth Method](/apis/openidoauth/authn-methods#client-secret-basic) on how to build it correctly.
```curl
curl --request POST \
@@ -7,7 +7,7 @@ We therefore discourage the use of Implicit Flow and do not cover the flow in th
:::
If you still need to rely on the implicit flow, simply keep in mind that the response on the authorization_endpoint is
the same you would be given on the token_endpoint and check the [OAuth / OIDC endpoint documentation](/docs/apis/openidoauth/endpoints) for more information.
the same you would be given on the token_endpoint and check the [OAuth / OIDC endpoint documentation](/apis/openidoauth/endpoints) for more information.
#### redirect_uri
@@ -32,7 +32,7 @@ When using the Implicit Flow you will also have to provide a `nonce` parameter t
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -46,4 +46,4 @@ Upon successful authentication you'll be given the `access_token`, `id_token`, `
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
@@ -23,12 +23,12 @@ You don't need any additional parameter for this request. We're identifying the
So your request might look like this (linebreaks and whitespace for display reasons):
Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -45,7 +45,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
@@ -29,12 +29,12 @@ the hash as well and to verify it's correct. In order to do so you're required t
For example for `random-string` the code_challenge would be `9az09PjcfuENS7oDK7jUd2xAWRb-B3N7Sr3kDoWECOY`
Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest).
Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -51,7 +51,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
@@ -20,7 +20,7 @@ with a custom protocol, you will need to add the origin where the app is served
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -37,7 +37,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
+1 -1
View File
@@ -2,7 +2,7 @@
title: Service Users
---
This is a guide on how to create service users in ZITADEL. You can read more about users [here](/docs/concepts/structure/users.md).
This is a guide on how to create service users in ZITADEL. You can read more about users [here](/concepts/structure/users.md).
## Create a Service User
1. Navigate to Service Users
+4 -4
View File
@@ -5,7 +5,7 @@ title: Actions
An Identity and Management system is a very interactive place. ZITADEL has built in functionality to react to its events. This functionality is called **Actions** and can be accessed from your organizations top navigation.
<img
src="/img/guides/console/actionsmenu.png"
src="/docs/img/guides/console/actionsmenu.png"
width="700px"
alt="Actions menu"
/>
@@ -14,12 +14,12 @@ Actions allow you to define scripts which are then run on certain triggers.
To add an action, click at the **new** button and provide a script and a name.
You can specify a timeout and whether the action is allowed to fail too.
<img src="/img/guides/console/action.png" alt="Create Action" width="450px" />
<img src="/docs/img/guides/console/action.png" alt="Create Action" width="450px" />
To run those scripts, a flow with a trigger has to be created.
This could for example be a **External Authentication** Flow, with a **Post Authentication** trigger.
<img src="/img/guides/console/flow.png" alt="Flow" width="400px" />
<img src="/docs/img/guides/console/flow.png" alt="Flow" width="400px" />
Now whenever a user gets authenticated externally with an IDP, a action is triggered after the authentication itself.
If you want to know more where actions can be useful, take a look at the feature [here](/docs/concepts/features/actions) or directly jump to an example of a custom behaviour [here](/docs/guides/manage/customize/behavior).
If you want to know more where actions can be useful, take a look at the feature [here](/concepts/features/actions) or directly jump to an example of a custom behaviour [here](/guides/manage/customize/behavior).
@@ -19,7 +19,7 @@ To access your applications, navigate to your project and select your applicatio
<img
alt="Granted project"
src="/img/guides/console/applications.png"
src="/docs/img/guides/console/applications.png"
width="750px"
/>
@@ -31,7 +31,7 @@ To add an application to your project, click on the add button and select your a
<img
alt="Add application"
src="/img/guides/console/addapplication.png"
src="/docs/img/guides/console/addapplication.png"
width="120px"
/>
@@ -97,7 +97,7 @@ Native applications can use a different protocol than http or https in order to
<img
alt="Redirect URIs"
src="/img/guides/console/redirecturis.png"
src="/docs/img/guides/console/redirecturis.png"
width="600px"
/>
@@ -116,7 +116,7 @@ You can easily change your authentication method via the colored toggle on top o
<img
alt="Redirect URIs"
src="/img/guides/console/application.png"
src="/docs/img/guides/console/application.png"
width="800px"
/>
@@ -125,7 +125,7 @@ Tasks for completion are shown in the field.
<img
alt="OIDC Compliance"
src="/img/guides/console/oidc-compliance.png"
src="/docs/img/guides/console/oidc-compliance.png"
width="600px"
/>
@@ -136,7 +136,7 @@ On the bottom you can optionally set a **ClockSkew** time which is added to the
<img
alt="Token settings"
src="/img/guides/console/app-token-settings.png"
src="/docs/img/guides/console/app-token-settings.png"
width="600px"
/>
@@ -147,7 +147,7 @@ Note that for local development you most likely have to enable development mode,
<img
alt="Redirect URIs"
src="/img/guides/console/redirect-uris.png"
src="/docs/img/guides/console/redirect-uris.png"
width="500px"
/>
@@ -157,6 +157,6 @@ If you need to allow additional origins which should **NOT** be used as redirect
<img
alt="Additional origins"
src="/img/guides/console/additional-origins.png"
src="/docs/img/guides/console/additional-origins.png"
width="500px"
/>
@@ -7,7 +7,7 @@ Instance settings work as default or fallback settings for your organizational s
To access instance settings, use the instance page at `{instanceDomain}/ui/console/settings` or click at the instance button on the **top-right** of the page and then navigate to settings in the navigation.
<img
src="/img/guides/console/instancebutton.png"
src="/docs/img/guides/console/instancebutton.png"
alt="Instance Button"
width="450px"
/>
@@ -66,13 +66,13 @@ To configure your custom SMTP please fill the following fields:
- User
- SMTP Password
<img src="/img/guides/console/smtp.png" alt="SMTP" width="400px" />
<img src="/docs/img/guides/console/smtp.png" alt="SMTP" width="400px" />
### SMS
No default provider is configured to send some SMS to your users. If you like to validate the phone numbers of your users make sure to add your twilio configuration by adding your Sid, Token and Sender Number.
<img src="/img/guides/console/twilio.png" alt="Twilio" width="400px" />
<img src="/docs/img/guides/console/twilio.png" alt="Twilio" width="400px" />
## Login Behaviour and Access
@@ -87,7 +87,7 @@ The Login Policy defines how the login process should look like and which authen
| Passwordless | Choose if passwordless login is allowed or not |
<img
src="/img/guides/console/loginpolicy.png"
src="/docs/img/guides/console/loginpolicy.png"
alt="Login Bahaviour and Access"
width="600px"
/>
@@ -141,7 +141,7 @@ The following properties can be set:
- Has Symbol
<img
src="/img/guides/console/complexity.png"
src="/docs/img/guides/console/complexity.png"
alt="Password Complexity"
width="600px"
/>
@@ -156,7 +156,7 @@ The following settings are available:
If an account is locked, the administrator has to unlock it in the ZITADEL console
<img src="/img/guides/console/lockout.png" alt="Lockout" width="600px" />
<img src="/docs/img/guides/console/lockout.png" alt="Lockout" width="600px" />
## Domain settings
@@ -188,7 +188,7 @@ Example:
`https://demo.com/tos-{{.Lang}}`
<img
src="/img/guides/console/privacypolicy.png"
src="/docs/img/guides/console/privacypolicy.png"
alt="Privacy Policy"
width="600px"
/>
@@ -208,7 +208,7 @@ These are the texts for your notification mails. Available for change are:
You can set the locale of the translations on the right.
<img
src="/img/guides/console/messagetexts.png"
src="/docs/img/guides/console/messagetexts.png"
alt="Message texts"
width="600px"
/>
@@ -217,7 +217,7 @@ You can set the locale of the translations on the right.
These are the texts for the login. Just like for message texts, you can select the locale on the right.
<img src="/img/guides/console/logintexts.png" alt="Login texts" width="600px" />
<img src="/docs/img/guides/console/logintexts.png" alt="Login texts" width="600px" />
## OIDC token lifetimes and expiration
@@ -230,7 +230,7 @@ You can set the following times:
- Refresh Token Idle Expiration
<img
src="/img/guides/console/oidcsettings.png"
src="/docs/img/guides/console/oidcsettings.png"
alt="OIDC Token Lifetimes"
width="400px"
/>
@@ -249,7 +249,7 @@ The following secrets can be configured:
- Application secrets
<img
src="/img/guides/console/secretappearance.png"
src="/docs/img/guides/console/secretappearance.png"
alt="Secret appearance"
width="400px"
/>
+2 -2
View File
@@ -9,14 +9,14 @@ import ManagerDescription from "../../../concepts/structure/_manager_description
To configure managers in ZITADEL go to the resource where you like to add it (e.g Instance, Organization, Project, GrantedProject).
In the right part of the console you can finde **MANAGERS** in the details part. Here you have a list of the current managers and can add a new one.
<img alt="Managers" src="/img/guides/console/managers.png" width="200px" />
<img alt="Managers" src="/docs/img/guides/console/managers.png" width="200px" />
When adding a new manager, you can select multiple roles some of which are only allowed to read data.
This can be especially useful if you add service users for one of your projects where you only need read access.
Per default you will only search for users within the selected organization. If you like to give a role to a user outside the organization you need to switch to the global search and type the exact loginname of the users. This will prevent allowing users to guess users from other organizations.
<img alt="Managers" src="/img/guides/console/addmanager.png" width="390px" />
<img alt="Managers" src="/docs/img/guides/console/addmanager.png" width="390px" />
## Roles
@@ -18,7 +18,7 @@ If you choose your logged in user as organization manager, a membership for the
<img
width="400px"
src="/img/console_org_select.png"
src="/docs/img/console_org_select.png"
alt="Select Organization"
/>
@@ -27,7 +27,7 @@ The customer needs to fill in the form with the organization name and the contac
<img
width="400px"
src="/img/console_org_register.png"
src="/docs/img/console_org_register.png"
alt="Register new organization"
/>
+1 -1
View File
@@ -15,7 +15,7 @@ The console has a context switcher on the **top-left** where your current organi
Depending on your use case, multiple organizations can be created (B2B) or you can stick to your global organization (B2C). To get an understanding of your use cases and how we recommend setting up your organizations, read the [Solution Scenario](../../solution-scenarios/introduction) guides.
<img
src="/img/guides/console/contextswitcher.png"
src="/docs/img/guides/console/contextswitcher.png"
alt="Context switcher"
width="400px"
/>
+7 -7
View File
@@ -19,7 +19,7 @@ You would have to create roles for administration and your clients in this very
To create a project, navigate to your organization, then projects or directly via <https://{your_domain}.zitadel.cloud/ui/console/projects>, and then click the button to create a new project.
<img alt="Empty Project" src="/img/console_projects_empty.png" width="270px" />
<img alt="Empty Project" src="/docs/img/console_projects_empty.png" width="270px" />
then enter your project name and continue.
@@ -41,7 +41,7 @@ Organizations can then create authorizations for their users on their own. The p
<img
alt="Granted project"
src="/img/guides/console/grantedprojectgrid.png"
src="/docs/img/guides/console/grantedprojectgrid.png"
width="320px"
/>
@@ -49,7 +49,7 @@ Organizations can then create authorizations for their users on their own. The p
1. Visit the project `POS` that you have created before, then in the section **Grants** click **New**.
<img src="/img/guides/console/grantsmenu.png" alt="Grants" width="170px" />
<img src="/docs/img/guides/console/grantsmenu.png" alt="Grants" width="170px" />
2. Enter the domain of the organization you want to grant (go to the organization detail page if you can't remember it), hit the search button and continue.
3. Select some roles you would like to grant to the organization and confirm.
@@ -62,7 +62,7 @@ Organizations can then create authorizations for their users on their own. The p
If you have different designs for your organizations or probably and use project grants, you can define the login behaviour on the project detail page.
<img
src="/img/guides/console/projectbranding.png"
src="/docs/img/guides/console/projectbranding.png"
alt="Project branding"
width="400px"
/>
@@ -75,7 +75,7 @@ You can choose from
| Enforce project resource owner policy | This setting will enforce the private labeling of the organization (resource owner) of the project through the whole login process. |
| Allow Login User resource owner policy | With this setting first the private labeling of the organization (resource owner) of the project will trigger. As soon as the user and its organization (resource owner) is identified by ZITADEL, the settings will change to the organization of the user. |
In a B2B use case, you would typically use the organization setting. If you want to omit organization detection, you can preselect an organization with the [primary domain scope](/docs/apis/openidoauth/scopes#reserved-scopes) (ex. `urn:zitadel:iam:org:domain:primary:{domainname}`).
In a B2B use case, you would typically use the organization setting. If you want to omit organization detection, you can preselect an organization with the [primary domain scope](/apis/openidoauth/scopes#reserved-scopes) (ex. `urn:zitadel:iam:org:domain:primary:{domainname}`).
### Role settings
@@ -88,7 +88,7 @@ Below the branding settings, you can check different checkboxes to get even more
It is checked whether the user's organization has this project. If not, the user cannot be authenticated.
<img
src="/img/guides/console/rolesettings.png"
src="/docs/img/guides/console/rolesettings.png"
width="700px"
alt="Role settings"
/>
@@ -96,7 +96,7 @@ Below the branding settings, you can check different checkboxes to get even more
If you want to have roles in your token, this has to be set in your applications as this is dependent on your application type. Navigate to your application and check this setting if you want so.
<img
src="/img/guides/console/tokenroles.png"
src="/docs/img/guides/console/tokenroles.png"
width="700px"
alt="Roles in token"
/>
+4 -4
View File
@@ -17,7 +17,7 @@ and
- Display Name: Accountant
- Group: Administration
<img src="/img/guides/console/addrole.png" alt="Add roles" />
<img src="/docs/img/guides/console/addrole.png" alt="Add roles" />
The **Key** is used for coding (can then for example be requested in the ID Token).
@@ -25,7 +25,7 @@ The **Display Name** is just for you remembering its use case
The **Group** is for making multiple roles selectable more easy.
<img src="/img/guides/console/roles.png" width="750px" alt="Roles" />
<img src="/docs/img/guides/console/roles.png" width="750px" alt="Roles" />
> The role client is for an other application of the project `POS`, as all possible roles from your POS applications are defined in your project.
@@ -36,14 +36,14 @@ An authorization combines a user of your organization with one or multiple roles
> You can also add users of other organizations, if you want to do so click on the hint below the username field.
<img src="/img/guides/console/authusers.png" width="500px" alt="Auth users" />
<img src="/docs/img/guides/console/authusers.png" width="500px" alt="Auth users" />
If your wanted to test your application with your own user, navigate to the **Authorizations** section under your project and click on **new**.
Type your username, hit continue, select the roles you want your user to have and save. If you want to add all roles of the Administration group, you can click on the group to select all.
<img
src="/img/guides/console/authorization.png"
src="/docs/img/guides/console/authorization.png"
width="750px"
alt="Authorization"
/>
+7 -7
View File
@@ -7,7 +7,7 @@ ZITADEL differs two different types of users:
- Users (Humans)
- Service Users (Machine Accounts)
<img src="/img/guides/console/usersmenu.png" width="420px" alt="User types" />
<img src="/docs/img/guides/console/usersmenu.png" width="420px" alt="User types" />
A human user has an email address and a password, and can additionally save information about phone, nickname, gender, language.
A service user only has a name and a description aside his username.
@@ -27,11 +27,11 @@ import TabItem from "@theme/TabItem";
<Tabs>
<TabItem value="human" label="Human User" default>
<img src="/img/guides/console/addhuman.png" width="680px" alt="Add Human" />
<img src="/docs/img/guides/console/addhuman.png" width="680px" alt="Add Human" />
</TabItem>
<TabItem value="service" label="Service User">
<img
src="/img/guides/console/addmachine.png"
src="/docs/img/guides/console/addmachine.png"
width="540px"
alt="Add Service User"
/>
@@ -46,7 +46,7 @@ You can prompt the user to add a second factor method too by checking the **Forc
When logged in, a user can then manage his profile in console himself, adding a profile picture, external IDPs and Passwordless authentication devices.
<img src="/img/guides/console/myprofile.png" alt="Profile Self Manage" />
<img src="/docs/img/guides/console/myprofile.png" alt="Profile Self Manage" />
## Metadata
@@ -58,17 +58,17 @@ Just navigate to the section **Metadata** and click on **edit**.
<img
width="460px"
src="/img/guides/console/usermetadata.png"
src="/docs/img/guides/console/usermetadata.png"
alt="User Metadata"
/>
Metadata can requested via our auth and management APIs, from userinfo endpoint or ID Token.
To get your metadata from the userinfo endpoint, add `urn:zitadel:iam:user:metadata` to your authentication request. Take a look at our reserved scopes [here](/docs/apis/openidoauth/scopes#reserved-scopes) or take a look at our [metadata guide](../customize/user-metadata).
To get your metadata from the userinfo endpoint, add `urn:zitadel:iam:user:metadata` to your authentication request. Take a look at our reserved scopes [here](/apis/openidoauth/scopes#reserved-scopes) or take a look at our [metadata guide](../customize/user-metadata).
You can then toggle **User Info inside ID Token** in your application settings, if you need this information in the ID Token too.
<img
src="/img/guides/console/appidtokensettings.png"
src="/docs/img/guides/console/appidtokensettings.png"
width="650px"
alt="ID Token settings"
/>
@@ -46,7 +46,7 @@ If you like to trigger your settings for your applications you have different po
Send a [reserved scope](../../../apis/openidoauth/scopes) with your [authorization request](../../integrate/login-users#auth-request) to trigger your organization.
The primary domain scope will restrict the login to your organization, so only users of your own organization will be able to login.
You can use our [OpenID Authentication Request Playground](/docs/apis/openidoauth/authrequest) to learn more about how to trigger an [organization's policies and branding](/docs/apis/openidoauth/authrequest#organization-policies-and-branding).
You can use our [OpenID Authentication Request Playground](/apis/openidoauth/authrequest) to learn more about how to trigger an [organization's policies and branding](/apis/openidoauth/authrequest#organization-policies-and-branding).
### 2. Setting on your Project
@@ -107,7 +107,7 @@ Export the result to the environment variable `BASIC_AUTH`.
### Create Auth Request
You need to create a valid auth request, including the reserved scope `urn:zitadel:iam:user:metadata`. Please refer to our API documentation for more information about [reserved scopes](../../../apis/openidoauth/scopes#reserved-scopes) or try it out in our [OIDC Authrequest Playground](/docs/apis/openidoauth/authrequest?scope=openid%20email%20profile%20urn%3Azitadel%3Aiam%3Auser%3Ametadata).
You need to create a valid auth request, including the reserved scope `urn:zitadel:iam:user:metadata`. Please refer to our API documentation for more information about [reserved scopes](../../../apis/openidoauth/scopes#reserved-scopes) or try it out in our [OIDC Authrequest Playground](/apis/openidoauth/authrequest?scope=openid%20email%20profile%20urn%3Azitadel%3Aiam%3Auser%3Ametadata).
Login with the user to which you have added the metadata. After the login you will be redirected.
@@ -80,4 +80,4 @@ This is the IAM admin users login according to your configuration in the [exampl
:::caution
<!-- TODO: Better mark the link in the UI -->
The ZITADEL management console [requires end-to-end HTTP/2 support](/docs/guides/manage/self-hosted/http2)
The ZITADEL management console [requires end-to-end HTTP/2 support](/guides/manage/self-hosted/http2)
@@ -9,7 +9,7 @@ To make us of gRPC it is vital to allow your clients to communicate with ZITADEL
Sometimes you need to configure explicitly that you want to use HTTP/2 if you run ZITADEL behind a reverse proxy and below you should find examples for different vendors and projects.
Furthermore it is important to notice that by default HTTP/2 is always encrypted, but if you want to run ZITADEL without TLS from your reverse proxy or service mesh this is possible through [h2c](https://httpd.apache.org/docs/2.4/howto/http2.html).
Furthermore it is important to notice that by default HTTP/2 is always encrypted, but if you want to run ZITADEL without TLS from your reverse proxy or service mesh this is possible through [h2c](https://httpd.apache.org/2.4/howto/http2.html).
Oftentimes when you run ZITADEL inside a service mesh, or a servelerss offering (e.g. Google Cloud Run, Knative, ...) you will need h2c.
You can read more about ZITADEL's [TLSs modes here](/docs/guides/manage/self-hosted/tls_modes).
You can read more about ZITADEL's [TLSs modes here](/guides/manage/self-hosted/tls_modes).
@@ -2,29 +2,29 @@
title: Production Checklist
---
As soon as you successfully deployed ZITADEL as a proof of concept using one of our [deployment guides](/docs/guides/deploy/overview),
As soon as you successfully deployed ZITADEL as a proof of concept using one of our [deployment guides](/guides/deploy/overview),
you are ready to configure ZITADEL for production usage.
## High Availability
We recommend running ZITADEL highly available using an orchestrator that schedules ZITADEL on multiple servers, like [Kubernetes](/docs/guides/deploy/kubernetes). For keeping startup times fast when scaling ZITADEL, you should also consider using separate jobs with `zitadel init` and `zitadel setup`, so your workload containers just have to execute `zitadel start`.
We recommend running ZITADEL highly available using an orchestrator that schedules ZITADEL on multiple servers, like [Kubernetes](/guides/deploy/kubernetes). For keeping startup times fast when scaling ZITADEL, you should also consider using separate jobs with `zitadel init` and `zitadel setup`, so your workload containers just have to execute `zitadel start`.
## Configuration
Read [on the configure page](/docs/guides/manage/self-hosted/configure) about the available options you have to configure ZITADEL.
Read [on the configure page](/guides/manage/self-hosted/configure) about the available options you have to configure ZITADEL.
## Networking
- To make ZITADEL available at the domain of your choice, [you need to configure the ExternalDomain property](/docs/guides/manage/self-hosted/custom-domain).
- To enable and restrict access to **HTTPS**, head over to [the description of your TLS options](/docs/guides/manage/self-hosted/tls_modes).
- If you want to front ZITADEL with a reverse proxy, web application firewall or content delivery network, make sure to support **[HTTP/2](/docs/guides/manage/self-hosted/http2)**.
- You can also refer to some **[example reverse proxy configurations](/docs/guides/manage/self-hosted/reverseproxy/reverse_proxy)**.
- To make ZITADEL available at the domain of your choice, [you need to configure the ExternalDomain property](/guides/manage/self-hosted/custom-domain).
- To enable and restrict access to **HTTPS**, head over to [the description of your TLS options](/guides/manage/self-hosted/tls_modes).
- If you want to front ZITADEL with a reverse proxy, web application firewall or content delivery network, make sure to support **[HTTP/2](/guides/manage/self-hosted/http2)**.
- You can also refer to some **[example reverse proxy configurations](/guides/manage/self-hosted/reverseproxy/reverse_proxy)**.
- The ZITADEL Console web GUI uses many gRPC-Web stubs. This results in a fairly big JavaScript bundle. You might want to compress it using [Gzip](https://www.gnu.org/software/gzip/) or [Brotli](https://github.com/google/brotli).
- Serving and caching the assets using a content delivery network could improve network latencies and shield your ZITADEL runtime.
## Monitoring
By default, [**metrics**](docs/apis/observability/metrics) are exposed at /debug/metrics in OpenTelemetry (otel) format.
By default, [**metrics**](/apis/observability/metrics) are exposed at /debug/metrics in OpenTelemetry (otel) format.
Also, you can enable **tracing** in the ZITADEL configuration.
@@ -48,7 +48,7 @@ Also, if you are concerned about multi-regional data locality,
### Configure ZITADEL
Depending on your environment, you maybe would want to tweak some settings about how ZITADEL interacts with the database in the database section of your ZITADEL configuration. Read more about your [database configuration options](/docs/guides/manage/self-hosted/database).
Depending on your environment, you maybe would want to tweak some settings about how ZITADEL interacts with the database in the database section of your ZITADEL configuration. Read more about your [database configuration options](/guides/manage/self-hosted/database).
```yaml
Database:
@@ -64,7 +64,7 @@ Database:
Options: ""
```
You also might want to configure how [projections](/docs/concepts/eventstore/implementation#projections) are computed. These are the default values:
You also might want to configure how [projections](/concepts/eventstore/implementation#projections) are computed. These are the default values:
```yaml
Projections:
@@ -101,7 +101,7 @@ or [for PostgreSQL](https://www.postgresql.org/docs/current/admin.html).
## Data Initialization
- You can configure instance defaults in the DefaultInstance section.
If you plan to eventually create [multiple virtual instances](/docs/concepts/structure/instance#multiple-virtual-instances), these defaults take effect.
If you plan to eventually create [multiple virtual instances](/concepts/structure/instance#multiple-virtual-instances), these defaults take effect.
Also, these configurations apply to the first instance, that ZITADEL automatically creates for you.
Especially the following properties are of special interest for your production setup.
@@ -126,7 +126,7 @@ DefaultInstance:
FromName:
```
- If you don't want to use the DefaultInstance configuration for the first instance that ZITADEL automatically creates for you during the [setup phase](/docs/guides/manage/self-hosted/configure#database-initialization), you can provide a FirstInstance YAML section using the --steps argument.
- Learn how to configure ZITADEL via the [Console user interface](/docs/guides/manage/console/overview).
- Probably, you also want to [apply your custom branding](/docs/guides/manage/customize/branding), [hook into certain events](/docs/guides/manage/customize/behavior), [customize texts](/docs/guides/manage/customize/texts) or [add metadata to your users](/docs/guides/manage/customize/user-metadata).
- If you want to automatically create ZITADEL resources, you can use the [ZITADEL Terraform Provider](/docs/guides/manage/terraform/basics).
- If you don't want to use the DefaultInstance configuration for the first instance that ZITADEL automatically creates for you during the [setup phase](/guides/manage/self-hosted/configure#database-initialization), you can provide a FirstInstance YAML section using the --steps argument.
- Learn how to configure ZITADEL via the [Console user interface](/guides/manage/console/overview).
- Probably, you also want to [apply your custom branding](/guides/manage/customize/branding), [hook into certain events](/guides/manage/customize/behavior), [customize texts](/guides/manage/customize/texts) or [add metadata to your users](/guides/manage/customize/user-metadata).
- If you want to automatically create ZITADEL resources, you can use the [ZITADEL Terraform Provider](/guides/manage/terraform/basics).
@@ -3,7 +3,7 @@
- [Make sure HTTP/2 is enabled](https://support.cloudflare.com/hc/en-us/articles/200168076-Understanding-Cloudflare-HTTP-2-and-HTTP-3-Support)
- [Verify that gRPC is enabled](https://support.cloudflare.com/hc/en-us/articles/360050483011-Understanding-Cloudflare-gRPC-support)
- [Verify that traffic is proxied through cloudflare](https://developers.cloudflare.com/dns/manage-dns-records/reference/proxied-dns-records/)
- [Configure ZITADEL to use the TLS Mode enabled](/docs/guides/manage/self-hosted/tls_modes#enabled)
- [Configure ZITADEL to use the TLS Mode enabled](/guides/manage/self-hosted/tls_modes#enabled)
:::info
[Cloudflare does only support gRPC with TLS!](https://support.cloudflare.com/hc/en-us/articles/360050483011-Understanding-Cloudflare-gRPC-support)
@@ -1,4 +1,4 @@
## More information
- [You can read here about the TLS Modes](/docs/guides/manage/self-hosted/tls_modes)
- [And here about how ZITADEL makes use of HTTP/2](/docs/guides/manage/self-hosted/http2)
- [You can read here about the TLS Modes](/guides/manage/self-hosted/tls_modes)
- [And here about how ZITADEL makes use of HTTP/2](/guides/manage/self-hosted/http2)
@@ -55,4 +55,4 @@ Be aware this is not a secure setup and should only be used for test systems!
## HTTP/2
To allow ZITADEL to function properly please make sure that HTTP/2 is enabled. If you are using the mode `external` or `disabled` make sure to verify h2c compatibilty.
You can read more about how ZITADEL utilizes in our [HTTP/2 docs](/docs/guides/manage/self-hosted/http2).
You can read more about how ZITADEL utilizes in our [HTTP/2 docs](/guides/manage/self-hosted/http2).
+1 -1
View File
@@ -80,7 +80,7 @@ We'd appreciate if you could contribute to our repo with translations of your la
> Note that your console design changes to your design too
</div>
<img src="/img/guides/branding.jpeg" alt="branding in console"/>
<img src="/docs/img/guides/branding.jpeg" alt="branding in console"/>
</Column>
### Projects and applications
+1 -1
View File
@@ -20,7 +20,7 @@ Here you can manage all your different instances, subscriptions and billing data
2. Click sign in
3. Use your ZITADEL Cloud user
Find out more about the Customer Portal [here](/docs/guides/manage/cloud/overview).
Find out more about the Customer Portal [here](/guides/manage/cloud/overview).
## Create a new instance