-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
Initial commit of workflow SDK / OAuth docs #14053
Merged
Merged
Changes from 10 commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
1c210e1
Initial commit of workflow invocation docs
dylburger 97c5839
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger a9626a6
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger e06e919
removing old docs, adding IP clarification
dylburger bb5a9e2
Removing broken link checker
dylburger 63ab997
Adding eslint-config-next to try to fix ESLint linting errors
dylburger cc1a987
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger 8cfb804
Adding pnpm lock again
dylburger c087633
Work so far
dylburger 72921fe
Many more fixes
dylburger b73b177
Many more docs changes
dylburger 28417e6
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger 9b798d5
Many more updates
dylburger f3bac44
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger b83ada2
Adding the PD SDK
dylburger cd7ce90
Updating Connect Link quickstart
dannyroosevelt 86e7b51
Some more docs updates
dannyroosevelt bb694e8
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger 3082b0c
Merge branch 'connect/workflow-sdk-docs' of github.com:PipedreamHQ/pi…
dylburger 5d3206d
Adding Apps, Users, Webhooks docs
dylburger 0a12942
Small tweaks
dannyroosevelt 1e2ef10
Adding info re: OAuth clients to Connect docs
dannyroosevelt d5b256b
More info re: OAuth clients
dannyroosevelt 4516cf0
Updating quickstart
dannyroosevelt 7cfd4e9
Adding /apps APIs, new /accounts params, changing include_credentials…
dylburger 3e2b4f5
Adding /components/search endpoint
dylburger f5d7c0c
Updating more client references
dylburger 8f7acfe
getAccounts changes
dylburger 0a5c3b6
Small quickstart fix
dylburger 7cb7338
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger 6bdfb2c
Docs tweaks
dannyroosevelt 6e1d464
s/oauth app/oauth client
dannyroosevelt d5df964
Update quickstart.mdx
dannyroosevelt ce0bdeb
Adding migration guide
dylburger 5c1160c
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger ea3f967
Merge remote-tracking branch 'origin/master' into connect/workflow-sd…
dylburger File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains 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 |
---|---|---|
|
@@ -8,4 +8,4 @@ export default { | |
console.log(Object.keys(this.$auth)); | ||
}, | ||
}, | ||
}; | ||
}; |
This file contains 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 |
---|---|---|
|
@@ -8,4 +8,4 @@ export default { | |
console.log(Object.keys(this.$auth)); | ||
}, | ||
}, | ||
}; | ||
}; |
This file contains 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 |
---|---|---|
|
@@ -8,4 +8,4 @@ export default { | |
console.log(Object.keys(this.$auth)); | ||
}, | ||
}, | ||
}; | ||
}; |
This file contains 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 |
---|---|---|
|
@@ -8,4 +8,4 @@ export default { | |
console.log(Object.keys(this.$auth)); | ||
}, | ||
}, | ||
}; | ||
}; |
This file contains 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 |
---|---|---|
|
@@ -8,4 +8,4 @@ export default { | |
console.log(Object.keys(this.$auth)); | ||
}, | ||
}, | ||
}; | ||
}; |
This file contains 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 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 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 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 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 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 |
---|---|---|
|
@@ -22,7 +22,7 @@ If you suspect Pipedream resources are being used for illegal purposes, or other | |
|
||
### SOC 2 | ||
|
||
Pipedream undergoes regular third-party audits. We have demonstrated SOC 2 compliance and can provide a SOC 2 Type 2 report upon request. Please reach out to <span className="font-bold">[email protected]</span> to request the latest report. | ||
Pipedream undergoes annual third-party audits. We have demonstrated SOC 2 compliance and can provide a SOC 2 Type 2 report upon request. Please reach out to <span className="font-bold">[email protected]</span> to request the latest report. | ||
|
||
We use [Drata](https://drata.com) to continuosly monitor our infrastructure's compliance with standards like SOC 2, and you can visit our [Security Report](https://app.drata.com/security-report/b45c2f79-1968-496b-8a10-321115b55845/27f61ebf-57e1-4917-9536-780faed1f236) to see a list of policies and processes we implement and track within Drata. | ||
|
||
|
@@ -86,6 +86,61 @@ No credentials are logged in your source or workflow by default. If you log thei | |
|
||
You can delete your OAuth grants or key-based credentials at any time by visiting [https://pipedream.com/accounts](https://pipedream.com/accounts). Deleting OAuth grants within Pipedream **do not** revoke Pipedream's access to your account. You must revoke that access wherever you manage OAuth grants in your third party application. | ||
|
||
## Pipedream REST API security, OAuth clients | ||
|
||
The Pipedream API supports two methods of authentication: [OAuth](/rest-api/auth#oauth) and [User API keys](/rest-api/auth#user-api-keys). **We recommend using OAuth clients** for a few reasons: | ||
|
||
✅ OAuth clients are tied to the workspace, administered by workspace admins <br /> | ||
✅ Tokens are short-lived <br /> | ||
✅ OAuth clients support scopes, limiting access to specific operations <br /> | ||
|
||
When testing the API or using the CLI, you can use your user API key. This key is tied to your user account and provides full access to any resources your user has access to, across workspaces. | ||
|
||
### OAuth clients | ||
|
||
Pipedream supports client credentials OAuth clients, which exchange a client ID and client secret for a short-lived access token. These clients are not tied to individual end users, and are meant to be used server-side. You must store these credentials securely on your server, never allowing them to be exposed in client-side code. | ||
|
||
Client secrets are salted and hashed before being saved to the database. The hashed secret is encrypted at rest. Pipedream does not store the client secret in plaintext. | ||
|
||
You can revoke a specific client secret at any time by visiting [https://pipedream.com/settings/api](https://pipedream.com/settings/api). | ||
|
||
### OAuth tokens | ||
|
||
Since Pipedream uses client credentials grants, access tokens must not be shared with end users or stored anywhere outside of your server environment. | ||
|
||
Access tokens are issued as JWTs, signed with an ED25519 private key. The public key used to verify these tokens is available at [https:/api.pipedream.com/.well-known/jwks.json](https://pipedream.com/.well-known/jwks.json). See [this workflow template](https://pipedream.com/new?h=tch_rBf76M) for example code you can use to validate these tokens. | ||
|
||
Access tokens are hashed before being saved in the Pipedream database, and are encrypted at rest. | ||
|
||
Access tokens expire after 1 hour. Tokens can be revoked at any time. | ||
|
||
## Pipedream Connect | ||
|
||
[Pipedream Connect](/connect) is the easiest way for your users to connect to [over {process.env.PUBLIC_APPS}+ APIs](https://pipedream.com/apps), **right in your product**. | ||
|
||
### Client-side SDK | ||
|
||
Pipedream provides a [client-side SDK](/connect/api#typescript-sdk-browser) to initiate authorization or accept API keys on behalf of your users in environments that can run JavaScript. You can see the code for that SDK [here](https://github.com/PipedreamHQ/pipedream/tree/master/packages/sdk). | ||
|
||
When you initiate authorization, you must: | ||
|
||
1. [Create a server-side token for a specific end user](/connect/api#create-a-new-token) | ||
2. Initiate auth with that token, connecting an account for a specific user | ||
|
||
These tokens can only initiate the auth connection flow. They have no permissions to access credentials or perform other operations against the REST API. They are meant to be scoped to a specific user, for use in clients that need to initiate auth flows. | ||
|
||
Tokens expire after 4 hours, at which point you must create a new token for that specific user. | ||
|
||
### Connect Link | ||
|
||
You can also use [Connect Link](/connect/quickstart#use-connect-link) to generate a URL that initiates the authorization flow for a specific user. This is useful when you want to initiate the auth flow from a client-side environment that can't run JavaScript, or include the link in an email, chat message, etc. | ||
|
||
Like tokens, Connect Links are coupled to specific users, and expire after 4 hours. | ||
|
||
### REST API | ||
|
||
The Pipedream Connect API is a subset of the [Pipedream REST API](/rest-api/). See the [REST API Security](#pipedream-rest-api-security-oauth-clients) section for more information on how we secure the API. | ||
|
||
## Execution environment | ||
|
||
The **execution environment** refers to the environment in which your sources, workflows, and other Pipedream code is executed. | ||
|
This file contains 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OAuth section needs to be completed.
The OAuth section is currently marked as "TO DO". This important authentication method should be documented to provide a complete reference for users.
Please complete the OAuth section with relevant details and examples.