Files
zitadel/docs/docs/guides/integrate/identity-providers/linkedin_oauth.mdx
Ramon b454c479f6 fix(console): Add login v2 url to identity providers (#10583)
# Which Problems Are Solved

When using login V2 the Callback URL for an Identity Provider is
different. When following the guideance in the console and using Login
V2 users will use the wrong callback url.

<img width="1234" height="323" alt="grafik"
src="https://github.com/user-attachments/assets/8632ecf2-d9e4-4e3b-8940-2bf80baab8df"
/>

# How the Problems Are Solved
I have added the correct Login V2 url to the identity providers and
updated our docs.

<img width="628" height="388" alt="grafik"
src="https://github.com/user-attachments/assets/2dd4f4f9-d68f-4605-a52e-2e51069da10e"
/>

# Additional Changes
Small refactorings and porting some components over to ChangeDetection
OnPush

# Additional Context

Replace this example with links to related issues, discussions, discord
threads, or other sources with more context.
Use the Closing #issue syntax for issues that are resolved with this PR.
- Closes #10461

---------

Co-authored-by: Max Peintner <max@caos.ch>

(cherry picked from commit 5cde52148f)
2025-09-15 08:33:50 +02:00

84 lines
2.9 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 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
![Add new Application in LinkedIn](/img/guides/linkedin_add_app.png)
## ZITADEL Configuration
### Add custom login policy
<CustomLoginPolicy/>
### Go to the IdP Providers Overview
<IDPsOverview templates="Generic OAuth"/>
### Create a new Generic OAuth Provider
<GenericOAuth
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 provider_account="LinkedIn account" />
![LinkedIn Provider](/img/guides/zitadel_linkedin_create_provider.png)
### Activate IdP
<Activate/>
![Activate the LinkedIn Provider](/img/guides/zitadel_activate_linkedin.png)
## Test the setup
<TestSetup loginscreen="your LinkedIn login"/>
![LinkedIn Button](/img/guides/zitadel_login_linkedin.png)
![LinkedIn Login](/img/guides/linkedin_login.png)
## Optional: Add ZITADEL action to autofill userdata
<PrefillAction fields="firstname, lastname, username, email and email verified" provider="LinkedIn"/>
```js reference
https://github.com/zitadel/actions/blob/main/examples/linkedin_identity_provider.js
```