mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-21 06:54:25 +00:00
## What
Shorten the `title` frontmatter on 20 docs pages so that the rendered
`<title>` tag stays within the 70-character SEO limit.
The root layout appends ` | ZITADEL Docs` (15 chars) to every page
title, meaning the raw frontmatter `title` must be ≤ 55 characters. A
site scan flagged all 20 pages for the "Title too long" warning (titles
ranged from 71 to 92 characters in the final rendered tag).
## Why
Search engines may truncate or ignore `<title>` tags longer than 70
characters, hurting click-through rates and keyword relevance in search
results.
## How
Each title was rewritten to:
- Fit within 55 characters (leaving room for ` | ZITADEL Docs`)
- Front-load the primary search keyword (product name, protocol, or
feature)
- Include "ZITADEL" where users realistically search for `{feature}
ZITADEL`
- Avoid generic filler words ("Configure", "Set up", "Support for")
All 20 files already have a `sidebar_label` field that preserves the
original descriptive title for sidebar navigation — no navigation
changes result from this PR.
## Pages updated
| Page | Before (chars) | After (chars) |
|---|---|---|
| concepts/features/passkeys | 82 | 64 |
| guides/integrate/identity-providers/openldap | 72 | 58 |
| guides/solution-scenarios/b2b | 78 | 59 |
| guides/integrate/services/cloudflare-oidc | 86 | 54 |
| guides/integrate/login/hosted-login | 71 | 55 |
| guides/integrate/service-accounts/private-key-jwt | 76 | 56 |
| guides/integrate/service-accounts/client-credentials | 78 | 60 |
| guides/integrate/services/google-cloud | 92 | 57 |
| guides/solution-scenarios/saas | 88 | 65 |
| guides/migrate/sources/auth0 | 73 | 65 |
| guides/integrate/login-ui/oidc-standard | 81 | 55 |
| guides/integrate/login-ui/username-password | 73 | 59 |
| guides/integrate/login-ui/device-auth | 78 | 60 |
| guides/integrate/identity-providers/linkedin_oauth | 72 | 58 |
| guides/integrate/identity-providers/pingfederate-saml | 74 | 61 |
| guides/integrate/service-accounts/personal-access-token | 82 | 62 |
| legal/service-description/cloud-service-description | 76 | 61 |
| guides/integrate/login/login-users | 83 | 55 |
| guides/integrate/identity-providers/migrate | 74 | 65 |
| guides/manage/console/projects-overview | 71 | 62 |
All final `<title>` values are between 54 and 66 characters (well under
the 70-char limit).
56 lines
2.4 KiB
Plaintext
56 lines
2.4 KiB
Plaintext
---
|
|
title: Cloudflare Zero Trust OIDC with ZITADEL
|
|
description: "Configure ZITADEL as an OIDC Identity Provider on Cloudflare Zero Trust with custom user info and authentication flows"
|
|
sidebar_label: Cloudflare Zero Trust
|
|
---
|
|
|
|
import CreateApp from "../application/_application.mdx";
|
|
|
|
This guide shows how to configure ZITADEL as OpenID Connect identity provider for Cloudflare Zero Trust.
|
|
|
|
Prerequisites:
|
|
|
|
- Existing ZITADEL instance, organization, and project. Follow our [get started](/guides/start/quickstart) guide to get started. If not present follow [this guide](/guides/start/quickstart)
|
|
- Existing Cloudflare account and [team domain](https://developers.cloudflare.com/cloudflare-one/glossary/#team-domain)
|
|
|
|
## Create the application in ZITADEL
|
|
|
|
<CreateApp components={props.components} appType="web" authType="code" appName="Cloudflare" redirectURI="https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback"/>
|
|
|
|
## Send user info in tokens
|
|
|
|
Make sure to enable "User Info inside ID Token" on your application settings.
|
|
|
|

|
|
|
|
<Callout>
|
|
Cloudflare will return an error "User email was not returned. API permissions are likely incorrect". Enable to send the user information inside the token on your application settings.
|
|
</Callout>
|
|
|
|
## Configure Cloudflare Zero Trust Authentication
|
|
|
|
1. On the Cloudflare dashboard go to Zero Trust, click settings, and then select "Authentication"
|
|
2. Add a new login method with the type "OpenID Connect"
|
|
3. Fill in the required information. Check the discovery endpoint of your instance `https://${CUSTOM_DOMAIN}/.well-known/openid-configuration` for the urls. As mentioned in the Cloudflare docs the Certificate Url is jwks_uri.
|
|
4. Disable PKCE (Cloudflare requires a client secret for PKCE, which is currently not supported)
|
|
5. Add the following claims: "openid", "profile", "email"
|
|
6. Test the connection
|
|
|
|
### Example settings
|
|
|
|
```json
|
|
{
|
|
"config": {
|
|
"client_id": "<your client id>",
|
|
"client_secret": "<your client secret>",
|
|
"auth_url": "https://${CUSTOM_DOMAIN}.zitadel.cloud/oauth/v2/authorize",
|
|
"token_url": "https://${CUSTOM_DOMAIN}.zitadel.cloud/oauth/v2/token",
|
|
"certs_url": "https://${CUSTOM_DOMAIN}.zitadel.cloud/oauth/v2/keys",
|
|
"scopes": ["openid", "email", "profile"],
|
|
"pkce_enabled": false,
|
|
},
|
|
"type": "oidc",
|
|
"name": "Generic Google"
|
|
}
|
|
```
|