Skip to content

Commit

Permalink
Update developer OAuth integration documentation (#22682)
Browse files Browse the repository at this point in the history
* Update oauth_for_integrations.md

* Update oauth_for_integrations.md

* Update oauth_for_integrations.md

* Update oauth_for_integrations.md

* Update oauth_for_integrations.md

* Apply suggestions from code review

---------

Co-authored-by: cecilia saixue watt <[email protected]>
  • Loading branch information
alexvetras and cswatt authored Apr 16, 2024
1 parent 28623ab commit 8d7076b
Showing 1 changed file with 7 additions and 30 deletions.
37 changes: 7 additions & 30 deletions content/en/developers/integrations/oauth_for_integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ description: Use OAuth to authenticate integrations.

## Overview

OAuth enables users to authorize third-party integrations with access to specific scopes of users' Datadog data. This authorization allows integrations to push data into Datadog and pull data out from Datadog. For example, if a user authorizes an integration for read access to their Datadog monitors, the integration can directly read and extract their monitor data.
OAuth enables Datadog customers to securely authorize third-party access to their Datadog organization. This authorization allows integrations to push data into Datadog or pull data out from Datadog without the need for customers to input API or app keys anywhere. For example, a user can consent to provide an on-call notification tool with read access to their Datadog organization's monitors.

For more information on Datadog's OAuth implementation, see the [Datadog OAuth2 documentation][1].

## Use OAuth in an integration
## When to use OAuth in an integration

OAuth allows Datadog customers to easily and securely authorize third-party platforms through a couple of clicks—without having to directly input API or app keys anywhere. You can use OAuth with existing integrations or configure OAuth as a part of developing new integrations.

When building an integration with OAuth, you can select the exact scopes of data that your application needs access to, and the customer can grant access to the granular scopes that you've requested. While optional scopes are not supported, all scopes requested by an integration become accessible when a customer authorizes it.
OAuth support is required for all partner-built SaaS integrations that directly submit data to, or query data from, Datadog's public [API endpoints][12]. OAuth does not apply to software deployed on-premises, or to Datadog Agent checks.

## Build an integration with OAuth

This section describes how to build a new integration with a tile on the [Marketplace][2] or [Integrations][3] page. If you're building upon an existing integration, or building a new integration and want to add it to an existing tile on either page, see [Adding OAuth to an existing offering](#Adding-oauth-to-an-existing-offering).
When building an integration with OAuth, you should only select the scopes to which your application needs access. After a customer consents to authorize your integration, all listed scopes become available to your application through a token.

You can include OAuth in a new integration (or add it to an existing integration) on the [Marketplace][2] or [Integrations][3] page by following the steps below. For existing integrations, note that there's no need to change your `app_uuid` in the `manifest.json`.

### Create an app from a template

Expand Down Expand Up @@ -127,30 +127,6 @@ You cannot edit a published OAuth client directly, so only go through the publis

For more information about publishing your integration tile and creating your pull request, see the [Marketplace and Integrations documentation][7].

## Add OAuth to an existing offering

The process for adding an OAuth client to an existing integration is similar to what is outlined above, with some key differences.

### If you have an existing integration that's not connected to a UI Extension

Follow the [steps](#build-an-integration-with-oauth) above, and ensure that you open a pull request to add new uninstallation instructions to your integration tile.

There's no need to change your `app_uuid` in the `manifest.json` file if you have an existing integration.

### If you have an existing integration that's currently connected to a UI Extension (shares the same tile)

Instead of creating an app, navigate to the app that includes your published UI Extension in the Developer Platform and follow the remaining [steps](#create-an-oauth-client).

Once you've created your integration's OAuth client and are ready for publishing, click **Edit** on your app and navigate to the **Publishing** tab under **General**. Ensure that you also open a pull request to add new uninstallation instructions to your tile.

**Note**: There's no need to change your `app_uuid` in the `manifest.json` file if you have an existing integration or UI Extension.

### If you have a published UI Extension and want to add an integration to the same tile

Instead of creating an app, navigate to the app that includes your published UI Extension in the Developer Platform and follow the remaining [steps](#create-an-oauth-client).

Open a pull request to update your existing tile with additional information about your integration—including updates to the README, image folder, and more. Add a link to this pull request during the publishing process.

## Further Reading

Additional helpful documentation, links, and articles:
Expand All @@ -169,3 +145,4 @@ Additional helpful documentation, links, and articles:
[9]: https://app.datadoghq.com/organization-settings/oauth-applications
[10]: https://app.datadoghq.com/organization-settings/api-keys
[11]: https://www.datadoghq.com/blog/oauth/
[12]: https://docs.datadoghq.com/api/latest/using-the-api/

0 comments on commit 8d7076b

Please sign in to comment.