getsentry / getsentry/sentry

Integrations Platform OAuth flow external install can only initiate once

Open
#72,379 10 comments 0 reactions 0 assignees View on GitHub
Feature Product Area: Settings - Integrations
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
22h 21m
Merged PRs (30d)
586

Description

### Environment

SaaS (https://sentry.io/)

### Steps to Reproduce

1. Initiate the external install flow, e.g. `https://sentry.io/sentry-apps//external-install/`
2. This can run successfully the first time.
3. Try initiating the external install flow after a successful installation, and the flow will stop, with a message saying the integration is already installed.

### Expected Result

The flow should be able to be initiated as many times as needed.

For an example of why, we've created the official Cloudflare Sentry integration: https://developers.cloudflare.com/workers/observability/sentry-integration

This integration must be installed from the customer's Cloudflare dashboard, where the rest of our Workers integrations live.

The main goal is to have the user go through Sentry's OAuth so that we can 1) list their Sentry projects and 2) get the Sentry DSN for the selected project.

The customer is only ever able to initiate the external install flow once. We've gotten around this issue by creating a link on our end between a Cloudflare account and a Sentry org, so that if the same account goes through the OAuth flow more than once, they receive the same credentials.

This workaround is problematic because multiple users may use a single Cloudflare account, and they may want to integration with different Sentry orgs for different projects.

### Actual Result

The flow can only successfully proceed once.

### Product Area

Settings - Integrations

### Link

_No response_

### DSN

_No response_

### Version

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.