Repository navigation
refactor: third-party app #1325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 1 commit
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
50668f1
refactor: third-party app
d455d80
chore: update
f6c8932
chore: update
ede782e
chore: replace the old url
4500ca0
Merge branch 'rany-third-party-app' of https://github.com/logto-io/do…
88a8c8c
chore: update wrong link
8dcc317
chore: update
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| Under the hood, a third-party app is just a standard OAuth 2.0 / OIDC client. This means you (or the third-party developer) can use any OAuth 2.0 / OIDC library or framework to integrate with Logto. | ||
|
|
||
| If you're not familiar with OAuth 2.0 or OIDC, you can start by following one of our quick start guides based on your application type. | ||
|
|
||
| A few things to keep in mind: | ||
|
|
||
| 1. Most of our quick start guides are written for first-party apps, but you can still use them as a reference for third-party app integration. | ||
| 2. The main difference is that third-party apps will show a consent screen, asking users for explicit permission to access their data. | ||
|
|
||
| You can find more information in our [quick start guides](/quick-starts). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| --- | ||
| slug: /quick-starts/third-party-native | ||
| sidebar_label: Third-party app (Native app) | ||
| sidebar_custom_props: | ||
| description: Integrate a third-party native (mobile/desktop) application using OIDC / OAuth protocol with PKCE. | ||
| logoFilename: 'native.svg' | ||
| --- | ||
|
|
||
| import AuthorizationIcon from '@site/src/assets/authorization.svg'; | ||
| import CustomizationIcon from '@site/src/assets/customization.svg'; | ||
|
|
||
| import QuickStartsReference from '../_quick-starts-reference.md'; | ||
|
|
||
| # Third-party app integration: Native app | ||
|
|
||
| Use Logto as your identity provider (IdP) to integrate third-party native applications (mobile or desktop) via OpenID Connect (OIDC) or OAuth 2.0 protocol. | ||
|
|
||
| Native apps are mobile or desktop applications that run on user devices. Since they cannot securely store client secrets, they use [PKCE (Proof Key for Code Exchange)](https://auth.wiki/pkce) for secure authorization. Examples include desktop applications like Claude Desktop or VS Code that need to authenticate users to access third-party services. | ||
|
|
||
| ## Create a third-party native app in Logto \{#create-a-third-party-native-app-in-logto} | ||
|
|
||
| 1. Go to <CloudLink to="/applications">Console > Applications</CloudLink>. | ||
|
|
||
| 2. Select "Third-party app > Third-party app (Native app)" as the application type. | ||
|
|
||
| - If this is the first time you create an application, click on the **View all** link to see all application types. | ||
|
|
||
| - Otherwise, click on the **Create application** button on the top right corner of the page and select "Third-party app > Third-party app (Native app)" as the application type. | ||
|
|
||
| 3. Enter a **name** and **description** for your application and click on the **Create** button. A new third-party native app will be created. | ||
|
|
||
| ## Set up the OIDC / OAuth configurations \{#set-up-the-oidc-oauth-configurations} | ||
|
|
||
| To configure Logto as an IdP for your third-party native application: | ||
|
|
||
| 1. Provide the **redirect URI** of your third-party application. For native apps, this is typically a custom URL scheme (e.g., `myapp://callback`) or a universal/app link. You can usually find this information in the third-party application's IdP connection settings page. Logto supports multiple redirect URIs—click the **Add another** button to add more. | ||
|
|
||
| 2. Retrieve the **client ID** from Logto application details page and enter it into your service provider's IdP connection settings page. | ||
|
|
||
| 3. Retrieve the **authorization endpoint** and **token endpoint** from Logto application details page and provide them to your service provider. | ||
|
|
||
| - If your service provider supports OIDC discovery, you can simply copy the **discovery endpoint** from Logto application details page and provide it to your service provider. The service provider will automatically retrieve all OIDC authentication information from the discovery endpoint. | ||
| - Otherwise, click on the **Show endpoint details** button to view all the OIDC authentication endpoints. | ||
|
|
||
| 4. Ensure the third-party application is configured to use **PKCE** (Proof Key for Code Exchange) during the authorization flow. Most modern OAuth/OIDC libraries support PKCE out of the box. | ||
|
|
||
| --- | ||
|
|
||
| <QuickStartsReference /> | ||
|
|
||
| ## Manage permissions and branding \{#manage-permissions-and-branding} | ||
|
|
||
| Once the OIDC configurations are set up, you can manage what permissions the third-party application can request and customize the branding of the consent screen: | ||
|
|
||
| <DocCardList | ||
| items={[ | ||
| { | ||
| type: 'link', | ||
| label: 'Permission management', | ||
| href: '/integrate-logto/third-party-applications/permission-management', | ||
| description: 'Learn how to manage permissions for your OIDC third-party application.', | ||
| customProps: { | ||
| icon: <AuthorizationIcon width={20} height={20} />, | ||
| }, | ||
| }, | ||
| { | ||
| type: 'link', | ||
| label: 'Consent screen branding', | ||
| href: '/integrate-logto/third-party-applications/consent-screen-branding', | ||
| description: | ||
| 'Personalize the consent screen appearance to match your brand identity and provide a consistent user experience.', | ||
| customProps: { | ||
| icon: <CustomizationIcon width={20} height={20} />, | ||
| }, | ||
| }, | ||
| ]} | ||
| /> | ||
|
|
||
| ## Manage your third-party applications \{#manage-your-third-party-applications} | ||
|
|
||
| All third-party applications are listed on the **Applications** page under the **Third-party apps** tab, making it easy to distinguish them from first-party applications. | ||
|
|
||
| ## Further readings \{#further-readings} | ||
|
|
||
| <Url href="/integrate-logto/third-party-applications">Third-party applications</Url> |
This file was deleted.
Oops, something went wrong.
11 changes: 0 additions & 11 deletions
11
docs/quick-starts/third-party/oidc/_quick-starts-reference.md
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.