Skip to content

CXP-2212: document C1 redirect URI and integration key classification - #70

Merged
luisina-santos merged 3 commits into
mainfrom
luisinasantos/document-c1-redirect-uri-and-ik-classification
Aug 28, 2026
Merged

CXP-2212: document C1 redirect URI and integration key classification#70
luisina-santos merged 3 commits into
mainfrom
luisinasantos/document-c1-redirect-uri-and-ik-classification

Conversation

@luisina-santos

Copy link
Copy Markdown
Contributor

Summary

  • `docs/connector.mdx` told every reader to enter an arbitrary redirect URI when creating the DocuSign app. That only holds for the self-hosted `--configure` flow (which never actually serves the redirect — it reads the code from the terminal). The Cloud-hosted (demo environment) flow needs C1's real OAuth callback registered, or DocuSign rejects the authorization request.
  • The integration key classification prompt (which DocuSign says determines production billing and can't be changed later) had no guidance.

Related: CXH-2212. Note the CLM opt-in gap that ticket also flagged is already fixed on main — only these two gaps remained.

Test plan

  • Docs render correctly (Mintlify preview / CI check)

Setup docs told every reader to enter an arbitrary redirect URI, which
only works for the self-hosted flow. Cloud-hosted (demo environment)
setups need C1's actual OAuth callback registered on the DocuSign app
or the authorization request is rejected. The integration key
classification choice, which affects billing and can't be changed
later, also had no guidance.
Comment thread docs/connector.mdx Outdated
@luisina-santos luisina-santos changed the title docs: document C1 redirect URI and integration key classification CXP-2212: document C1 redirect URI and integration key classification Aug 27, 2026
@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Connector PR Review: CXP-2212: document C1 redirect URI and integration key classification

Blocking Issues: 0 | Suggestions: 1 | Threads Resolved: 0
Criteria: Criteria status: loaded .claude/skills/ci-review.md from trusted base 53634cec63d6.
Review mode: incremental since f544efc0
View review run

Review Summary

The new commit rewrites only the integration-key classification paragraph in docs/connector.mdx, replacing the prescriptive "self-hosted -> Private / Custom App -> Third-party" mapping with softer guidance that recommends Private custom integration for most setups and tells the reader to confirm the irreversible choice with DocuSign first — this addresses the previous finding on lines 64-66. The full PR diff was scanned for security and correctness: it is documentation-only (docs/connector.mdx, +5/-1), touches no Go source, go.mod, or go.sum, and the self-hosted redirect-URI text checks out against pkg/client/oauth.go:105-131 (Authorize prints the authorization URL and reads the code from stdin) and pkg/connector/connector.go:54 (redirect-uri is required, and is passed to the token exchange). The earlier note about the literal C1 callback URL is untouched by this commit and remains open.

Security Issues

None found.

Correctness Issues

None found.

Suggestions

  • docs/connector.mdx:72 — (carried over from the previous review, still open) The C1 OAuth callback URL https://accounts.conductor.one/oauth/callback is not verifiable from anything in this repo; confirm the literal value with the platform team, since a wrong value makes every Cloud-hosted (demo environment) setup fail at authorization.
Prompt for AI agents
Verify each finding against the current code and only fix it if needed.

## Suggestions

In `docs/connector.mdx`:
- Around line 72: The Cloud-hosted (demo environment) step tells users to register
  `https://accounts.conductor.one/oauth/callback` as the DocuSign Redirect URI. That value is
  not derivable from anything in this repository. Confirm the exact callback URL with the
  ConductorOne platform team (scheme, host, and path) and correct it if it differs; an incorrect
  value causes DocuSign to reject the authorization request for every cloud-hosted demo setup.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blocking issues found.

The self-hosted redirect URI is not unused — DocuSign does redirect
the browser there and sends it as redirect_uri in the token exchange,
so the registered value must match --redirect-uri/BATON_REDIRECT_URI.
Comment thread docs/connector.mdx Outdated
Comment on lines +64 to +66
You'll be asked to classify the integration key. This choice affects production billing and [can't be changed later](https://developers.docusign.com/platform/go-live/#ik-classifications):
- Choose **Private custom integration** if this app will only be used internally by your organization — the typical case for a self-hosted connector.
- Choose **Third-party integration key** if you're using this app with C1's **Custom App (Demo Environment)** field group and connecting third-party (C1) infrastructure to your DocuSign account.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Suggestion: This ties DocuSign's integration key classification to the C1 hosting mode, but the two aren't the same axis. DocuSign's classification is about who owns/distributes the integration; in the Custom App (Demo Environment) flow the key is still created in and used against the customer's own DocuSign account, which reads as a private/internal integration even though C1 drives the OAuth flow. Also note that field group targets account-d.docusign.com only (see line 138 and pkg/client/oauth.go:15), so recommending a permanent classification that "affects production billing" for a demo-only key is worth double-checking against DocuSign's actual prompt wording. (Medium confidence — I can't verify DocuSign's UI labels from this repo.)

Comment thread docs/connector.mdx
In the **Redirect URI** field, enter any URI of your choice (such as http://example.com/callback) and click **Add**.
In the **Redirect URI** field:
- If you're configuring a **self-hosted** connector, enter any URI of your choice (such as http://example.com/callback) and click **Add**. Nothing needs to be listening at that address — the `--configure` flow prints an authorization URL, and after you authorize, DocuSign redirects your browser there; copy the `code` parameter from the resulting (unreachable) URL and paste it when prompted. Whatever value you register here must also be passed as `--redirect-uri` / `BATON_REDIRECT_URI`, or the authorization and token exchange will fail.
- If you're configuring a **Cloud-hosted (demo environment)** connector, enter `https://accounts.conductor.one/oauth/callback` and click **Add**. C1 completes the OAuth flow through this URL; DocuSign rejects the authorization request if it isn't registered here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Suggestion: https://accounts.conductor.one/oauth/callback appears nowhere else in this repo (redirect-uri is ExportTargetCLIOnly in pkg/config/config.go:32-37, so the cloud-hosted path never passes it through the connector), which means this exact string can't be verified here. If it doesn't match the redirect URI C1's platform actually sends, DocuSign rejects the authorization and setup fails at the last step. Worth confirming the literal value with the platform team (and whether it varies by environment/region) before merging. (Medium confidence.)

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blocking issues found.

The prior wording split the classification choice cleanly by hosting
mode, but DocuSign's classification is about who owns/distributes the
app, not who runs the connector -- the key is created and used
against the customer's own account in both cases. State it as
DocuSign's own criteria plus a case worth double-checking, not a rule.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blocking issues found.

@luisina-santos
luisina-santos merged commit 4ea0f1d into main Aug 28, 2026
11 checks passed
@luisina-santos
luisina-santos deleted the luisinasantos/document-c1-redirect-uri-and-ik-classification branch August 28, 2026 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants