mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-03 21:02: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]>
83 lines
3.1 KiB
Plaintext
83 lines
3.1 KiB
Plaintext
---
|
|
title: Configure LinkedIn as an OAuth Identity Provider in ZITADEL
|
|
sidebar_label: LinkedIn generic OAuth
|
|
id: linkedin-oauth
|
|
---
|
|
|
|
import GeneralConfigDescription from './_general_config_description.mdx';
|
|
import Intro from './_intro.mdx';
|
|
import CustomLoginPolicy from './_custom_login_policy.mdx';
|
|
import IDPsOverview from './_idps_overview.mdx';
|
|
import GenericOAuth from './_generic_oauth.mdx';
|
|
import Activate from './_activate.mdx';
|
|
import PrefillAction from './_prefill_action.mdx';
|
|
import TestSetup from './_test_setup.mdx';
|
|
|
|
<Intro components={props.components} provider="LinkedIn"/>
|
|
|
|
## LinkedIn Configuration
|
|
|
|
### Register a new client
|
|
|
|
1. Go to the LinkedIn Developer console and create a new App: https://www.linkedin.com/developers/apps/new
|
|
2. Add your App Name, your Company Page and a Logo
|
|
3. Add "Sign In with LinkedIn using OpenID Connect" by clicking "Request access"
|
|
4. Go to the Auth Settings of the App and add the following URL to the "Authorized redirect URLs"
|
|
- Login V1: `${CUSTOM_DOMAIN}/ui/login/login/externalidp/callback`
|
|
- Example redirect url for the domain `https://acme.zitadel.cloud` would look like this: `https://acme.zitadel.cloud/ui/login/login/externalidp/callback`
|
|
- Login V2: `${LOGINGV2_DOMAIN}/idps/callback`
|
|
- In this case the url would look like this: `https://acme.zitadel.cloud/idps/callback`
|
|
5. Verify the app as your company
|
|
6. In the Auth - OAuth 2.0 scopes section you should see `openid`, `profile` and `email` listed
|
|
7. Save Client ID and Primary Client Secret from the Application credentials
|
|
|
|

|
|
|
|
## ZITADEL Configuration
|
|
|
|
### Add custom login policy
|
|
|
|
<CustomLoginPolicy components={props.components} />
|
|
|
|
### Go to the IdP Providers Overview
|
|
|
|
<IDPsOverview components={props.components} templates="Generic OAuth"/>
|
|
|
|
### Create a new Generic OAuth Provider
|
|
|
|
<GenericOAuth components={props.components}
|
|
name=": e.g. LinkedIn"
|
|
authendpoint="https://www.linkedin.com/oauth/v2/authorization"
|
|
tokenendpoint="https://www.linkedin.com/oauth/v2/accessToken"
|
|
userendpoint="https://api.linkedin.com/v2/userinfo"
|
|
id="sub"
|
|
clientid=": Client id from the application previously created in your LinkedIn account"
|
|
clientsecret=": Client Secret from the application previously created in your LinkedIn account"
|
|
/>
|
|
|
|
<GeneralConfigDescription components={props.components} provider_account="LinkedIn account" />
|
|
|
|

|
|
|
|
### Activate IdP
|
|
|
|
<Activate components={props.components} />
|
|
|
|

|
|
|
|
## Test the setup
|
|
|
|
<TestSetup components={props.components} loginscreen="your LinkedIn login"/>
|
|
|
|

|
|
|
|

|
|
|
|
## Optional: Add ZITADEL action to autofill userdata
|
|
|
|
<PrefillAction components={props.components} fields="firstname, lastname, username, email and email verified" provider="LinkedIn"/>
|
|
|
|
```js reference
|
|
https://github.com/zitadel/actions/blob/main/examples/linkedin_identity_provider.js
|
|
```
|