mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-02 12:22:15 +00:00
## Todos for release - [x] Configure Env in docs project on vercel - [x] Configure Root Path in the docs project on vercel - [ ] Remove old CSP https://github.com/zitadel/website/pull/1592 ## What we did This pull request migrates the project documentation from the old `docs/` directory to the new `apps/docs/` directory, introduces a new documentation system built with Next.js and Fumadocs, and updates all relevant references, configuration files, and documentation to reflect this change. It also adds new configuration and ignore files for the new documentation app, updates CI and linting to exclude the new docs from certain checks, and revises the contributing guidelines accordingly. **Documentation System Migration and New Docs App** * Migrated all documentation from `docs/` to `apps/docs/`, and updated all references in `README.md`, `CONTRIBUTING.md`, and other files to point to the new location. [[1]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L585-L640) [[2]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L660-R607) [[3]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L740-R687) [[4]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L2-R3) [[5]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L30-R30) * Added a new Next.js/Fumadocs-based documentation app under `apps/docs/`, including core app files, layouts, routing, search API, and a comprehensive `README.md` with development and contribution instructions. [[1]](diffhunk://#diff-5a1b07344a2c1b4d3f37b23ff1388b62cd9f57dea3c1cd23d8a0412b7602b132R1-R74) [[2]](diffhunk://#diff-462b9ad1eabbb7d1c29bb9c36e4931eb180fd7190900e6d2babf8f4d66ad1c28R1-R39) [[3]](diffhunk://#diff-e16ae25660ded787b10ac35dea96d5ecaacf895dae0afc8a9bd4382dc79a8c87R1-R7) [apps/docs/app/[[...slug]]/layout.tsxR1-R81](diffhunk://#diff-59e08acde4e805b7aeccef1dcf98f1d71dfc550777e6b9402085cee0e9fa4e0aR1-R81), [apps/docs/app/[[...slug]]/page.tsxR1-R79](diffhunk://#diff-e5df3f80d0fa01e12d63d81f29c57a9d14e846c78fd3beabb2ef768e38fd9580R1-R79), [[4]](diffhunk://#diff-389b34918e040cacaa87cd7201ffa462cc2b0b716736f537e3d3c660ac69353bR1-R7) [[5]](diffhunk://#diff-d3b03416d1c457b19f1c27b26f2db741412df841b875c26ccadc36e4522247f4R1-R29) [[6]](diffhunk://#diff-c8fb8339570a5305809be7c618e14705fd86390dc278e6ce8ba224a7bc8b0c3cR1-R25) **Configuration and Tooling Updates** * Updated `.github/workflows/codeql.yml`, `.golangci.yaml`, and `.github/dependabot.yml` to properly handle the new docs app: excluded `apps/docs` from certain checks, added npm dependency updates for the docs app, and excluded generated content. [[1]](diffhunk://#diff-12783128521e452af0cfac94b99b8d250413c516ec71fe6d97dbea666ff7ba27L8-R14) [[2]](diffhunk://#diff-9917ddc9f1c3304218f7269265b746d997c5c0615478177b5fceecd33ef47cb5R5-R6) [[3]](diffhunk://#diff-9917ddc9f1c3304218f7269265b746d997c5c0615478177b5fceecd33ef47cb5R126-R129) [[4]](diffhunk://#diff-dd4fbda47e51f1e35defb9275a9cd9c212ecde0b870cba89ddaaae65c5f3cd28R89-R106) * Updated `.devcontainer/devcontainer.json` to use the latest Go 1.25.3 version for consistency. **Licensing and Miscellaneous** * Added `apps/docs/` to the list of licensed directories in `LICENSING.md`. These changes ensure the documentation is now maintained in a modern, scalable system and all project tooling is updated to support the new structure. --------- Co-authored-by: Federico Coppede <[email protected]>
201 lines
7.9 KiB
Plaintext
201 lines
7.9 KiB
Plaintext
---
|
|
title: ZITADEL Applications
|
|
sidebar_label: Applications
|
|
---
|
|
|
|
import ThemedImage from "@/components/docusaurus/themed-image";
|
|
import AuthType from "../../integrate/application/_auth-type.mdx";
|
|
import ReviewConfig from "../../integrate/application/_review-config.mdx";
|
|
import AppType from "./_application-types.mdx";
|
|
|
|
## What is an application?
|
|
|
|
Applications are the entry point to your project.
|
|
Users either login into one of your clients and interact with them directly or use one of your APIs.
|
|
All applications share the roles and authorizations of their project.
|
|
|
|
To access your applications, navigate to your project and select your application.
|
|
|
|
<img
|
|
alt="Granted project"
|
|
src="/docs/img/guides/console/applications.png"
|
|
width="750px"
|
|
/>
|
|
|
|
## Create application
|
|
|
|
To add an application to your project, click on the add button and select your application type.
|
|
|
|
<img
|
|
alt="Add application"
|
|
src="/docs/img/guides/console/addapplication.png"
|
|
width="120px"
|
|
/>
|
|
|
|
## Application Types
|
|
|
|
At the moment ZITADEL offers five client types:
|
|
|
|
<AppType components={props.components} />
|
|
|
|
The first three options (Web, Native and User Agent) require user interaction, the fourth option (API) has no direct user-interaction.
|
|
Depending on the app type, there are small differences in the possible settings.
|
|
|
|
To get a good understanding about user profiles and recommended flows, read the following [guide](../../integrate/login/oidc/oauth-recommended-flows#different-client-profiles).
|
|
|
|
### Web
|
|
|
|
Web applications are **server side rendered** applications users interact with. For example if you develop an application using Thymeleaf in Java or Razor in .NET or want to enable SSO in Gitlab.
|
|
|
|
Typical **React or Angular** apps **are not** a Web applications in this case.
|
|
A **NextJS** on the contrary would be because it allows you to implement server side code.
|
|
|
|
Following authentication types can be used:
|
|
|
|
<AuthType components={props.components} appType="web" />
|
|
|
|
### Native
|
|
|
|
Native Applications installed on a thin client. For example on a smartphone or computer. This can for example be Android and iOS Applications.
|
|
|
|
These applications uses the Key file generated by ZITADEL to authenticate.
|
|
|
|
<AuthType components={props.components} appType="native" />
|
|
|
|
### User Agent
|
|
|
|
User Agent Applications that are executed in a web browser, for example single page applications executed in the browser developed with JavaScript frameworks like [Angular](../../../examples/login/angular) or [React](../../../examples/login/react)
|
|
|
|
Following **authentication methods** can be used:
|
|
|
|
<AuthType components={props.components} appType="user-agent" />
|
|
|
|
### API
|
|
|
|
These are Applications without human interaction. These applications are accessed by other applications, so called machine to machine communication.
|
|
|
|
Following authentication types can be used:
|
|
|
|
<AuthType components={props.components} appType="api" />
|
|
|
|
After selecting your Apps Type and Authentication Method, you may need to specify redirect URIs.
|
|
|
|
### SAML
|
|
|
|
If your application doesn't support the OIDC standard, but SAML this is the right application type to choose. SAML is an open standard used for authentication based on XML.
|
|
|
|
After entering a name and choosing the application type "SAML", you will get to the SAML configuration screen.
|
|
|
|
You can either add a link to a SAML metadata file or upload it directly.
|
|
SAML metadata is an XML document which contains information necessary for interaction with SAML-enabled identity or service providers.
|
|
|
|
You can find some example configurations for SAML 2.0 in our [integrate services](/guides/integrate/services) guides
|
|
|
|
## Redirect URIs
|
|
|
|
App Types with User interaction (Web, Native and User Agent) require redirect URIs.
|
|
Those redirects URIs are used to redirect the user back to your application on successful login.
|
|
|
|
These URIs are defined in your application code and are checked by ZITADEL if they correspond to your applications configuration.
|
|
Redirect URIs are checked during the login process.
|
|
Native applications can use a different protocol than http or https in order to redirect your user.
|
|
|
|
<img
|
|
alt="Redirect URIs"
|
|
src="/docs/img/guides/console/redirecturis.png"
|
|
width="600px"
|
|
/>
|
|
|
|
### Development mode
|
|
|
|
In order to develop locally, or you want to redirect users to any other protocol than https://, you must enable **Development mode**.
|
|
When disabled only https is allowed, as ZITADEL's configuration is secure by default.
|
|
|
|
<img
|
|
alt="Development mode"
|
|
src="/docs/img/guides/console/developmentmode.png"
|
|
width="600px"
|
|
/>
|
|
|
|
Development mode also allows glob patterns in redirect URIs with the following special terms in the patterns:
|
|
|
|
| Special Terms | Meaning |
|
|
| ------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
| `*` | matches any sequence of non-path-separators |
|
|
| `/**/` | matches zero or more directories |
|
|
| `?` | matches any single non-path-separator character |
|
|
| `[class]` | matches any single non-path-separator character against a class of characters [see "character classes"][1] |
|
|
| `{alt1,...}` | matches a sequence of characters if one of the comma-separated alternatives matches |
|
|
|
|
[1]: https://github.com/bmatcuk/doublestar?tab=readme-ov-file#character-classes
|
|
|
|
Special character can be escaped with a backslash (`\`).
|
|
|
|
Double stars (`**`) should appear surrounded by a path separators such as `/**/`.
|
|
A mid-pattern double star (`**`) behaves like bash's glob star option: a pattern
|
|
such as `path/to/**.txt` would return the same results as `path/to/*.txt`. The
|
|
pattern you're looking for is `path/to/**/*.txt`.
|
|
|
|
*Source: [github.com/bmatcuk/doublestar](https://github.com/bmatcuk/doublestar?tab=readme-ov-file#patterns)*
|
|
|
|
> When IPv6 URIs are used as redirects in development mode, square brackets must be escaped as they are also Special Terms for globs. `http://\[::1\]:80`
|
|
|
|
## Review Configuration
|
|
|
|
<ReviewConfig components={props.components} authType="code" />
|
|
|
|
## Application settings
|
|
|
|
After creating the application, you can still change its configuration if you for example need a offline_access support (Refresh token).
|
|
You can easily change your authentication method via the colored toggle on top or directly change configuration via the input and dropdown fields.
|
|
|
|
> Note: Changing application type is not possible. In this case you have to create a new application.
|
|
|
|
<img
|
|
alt="Redirect URIs"
|
|
src="/docs/img/guides/console/application.png"
|
|
width="800px"
|
|
/>
|
|
|
|
On the top of the page you can check if your application is OIDC compliant.
|
|
Tasks for completion are shown in the field.
|
|
|
|
<img
|
|
alt="OIDC Compliance"
|
|
src="/docs/img/guides/console/oidc-compliance.png"
|
|
width="600px"
|
|
/>
|
|
|
|
### Token settings
|
|
|
|
In the token settings you can change the type from **Bearer Token** to **JWT**, and check some settings whether you need user roles and user information in the ID Token or not.
|
|
On the bottom you can optionally set a **ClockSkew** time which is added to the expiration time of the issued token.
|
|
|
|
<img
|
|
alt="Token settings"
|
|
src="/docs/img/guides/console/app-token-settings.png"
|
|
width="600px"
|
|
/>
|
|
|
|
### Redirect settings
|
|
|
|
Like on creation, you can modify you redirect settings here.
|
|
Note that for local development you most likely have to enable development mode, as redirects to http:// are otherwise blocked.
|
|
On Native Apps you can also skip the Login Success Page.
|
|
|
|
<img
|
|
alt="Redirect URIs"
|
|
src="/docs/img/guides/console/redirect-uris.png"
|
|
width="500px"
|
|
/>
|
|
|
|
### Additional origins
|
|
|
|
If you need to allow additional origins which should **NOT** be used as redirect you can specify them in the **Additional origins** section.
|
|
|
|
<img
|
|
alt="Additional origins"
|
|
src="/docs/img/guides/console/additional-origins.png"
|
|
width="500px"
|
|
/>
|