Skip to content

fix(pipedrive): request only the OAuth2 scopes the app uses - #249

Open
nickmazurenko wants to merge 1 commit into
developfrom
fix/pipedrive-oauth2-scopes
Open

nickmazurenko wants to merge 1 commit into
developfrom
fix/pipedrive-oauth2-scopes

Conversation

@nickmazurenko

Copy link
Copy Markdown
Contributor

Part of the Pipedrive Marketplace submission: the reviewer checks that an app requests only the scopes its functionality uses, and the consent page shows every scope to the user.

Change

oauth2_scopes of the Pipedrive app drops four scopes nothing in the catalogue calls:

dropped why
mail:full no mailbox endpoint in allowed-paths
recents:read no /recents call anywhere
phone-integration no call-log endpoint
goals:read no goals endpoint

What stays maps to real use: base; deals:full, activities:full, contacts:full, products:full, leads:full, projects:full (actions, record-based create/update/delete/search, allowed-value lookups, filters); users:read (user trigger, user lookups, the /users/me ping); search:read (record search); webhooks:full (the seven triggers register and remove webhooks).

The Developer Hub app for the Marketplace is configured with exactly this set, so the two stay in step.

Verification

  • tsc --noEmit clean; src/tests/pipedrive-migration.test.ts 15/15.
  • Full unit suite: 69 passed, 10 failed; the 10 are the same suites that fail on develop in this environment (live-API rate limits and missing credentials: clickup, hubspot, seatable, sendgrid, notion, nocodb, google-ads, dependency-security, app-schema-cache, hubspot-schema-cache). No new failure.
  • Release note added under 2.2.

The Pipedrive app asked for four scopes nothing in it calls: mail:full
(no mailbox endpoint is allowed), recents:read (no /recents call),
phone-integration (no call logs) and goals:read (no goals). Pipedrive's
Marketplace review rejects apps that request scopes their functionality
does not use, and users see every scope on the consent page.

The list now matches what the catalogue does: base, deals, activities,
contacts, products, leads and projects with full access (actions, the
record-based operations and the allowed-value lookups), users:read (the
user trigger, user lookups and the /users/me ping), search:read (record
search) and webhooks:full (the seven triggers register webhooks). The
Marketplace app configuration carries the same set.
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.

1 participant