Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
F
Feature request
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 24
    • Issues 24
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards
  • Community
  • Feature request
  • Issues
  • #4

Closed
Open
Opened Sep 28, 2018 by totten@tottenOwner

System Service API Keys

When integrating with CiviCRM, you can create one per-user API key. However, if you're writing an integration, this requires some kind of kludge, e.g.

  • Take your own user, assign an API key, and use that. But now the system has the full access of your user. Moreover, multiple integrations may have to use the same API key -- which can make it harder to rotate keys.
  • Create a new user just for the integration, assign an API key, and use that. But now the database includes contact records that don't make sense to regularly staff looking through the database.

Solution: Implement an extension which:

  • Adds a new CRUD screen for creating system API keys.
  • Implement a RESTy end-point which accepts these API keys.
  • Enforces limited permissions (i.e. Civi\API\WhitelistRule).

Estimate: 1-7 days (core-dev time-units)

Edited Oct 02, 2018 by totten
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: community/feature-request#4