Productsup
Dev PortalConnector Setup

Authentication and secrets

Configure authentication providers and secret references for your connector.

Both steps are optional. Use authentication when your connector needs end-user credentials (OAuth tokens, API keys for a third-party service). Use secrets when your connector needs developer-managed credentials stored securely in a vault.

Authentication

Authentication lets you declare which authentication providers your connector requires. When an end-user adds your connector to a site, they select their credentials from the platform's authentication store.

How it works

  1. You (the developer) register one or more authentication types during connector setup. These reference pre-configured authentication providers on the Productsup platform (e.g. Google Merchant Center, Facebook, SFTP).
  2. End-users select which of their stored credentials to use when they configure your connector on a site.
  3. At runtime, the selected credentials are passed to your connector as environment variables with the prefix PUP_AUTH_ (in environment variable mode) or as CLI flags with the prefix --pup-auth- (in command options mode).

Example

If the authentication provider has a field refresh_token, your connector receives:

Environment variable mode:

PUP_AUTH_REFRESH_TOKEN=<value from user's authentication store>

Command options mode:

--pup-auth-refresh_token='<value from user's authentication store>'

When you add authentication registrations to a connector, the platform automatically creates an authentication_select field in the end-user form, letting users pick their credentials.

Secrets

Secrets are sensitive values (API keys, service credentials, tokens) stored securely in a vault. Unlike authentication, secrets are managed by the connector developer or platform administrator — end-users don't interact with them.

Secrets configuration in the Dev Portal

How it works

  1. You (the developer) define secret registrations, each referencing a path in the vault and specifying which fields to extract.
  2. At runtime, all registered secrets are passed to your connector as a JSON string — either via the REGISTERED_SECRETS environment variable or the --registered-secrets CLI flag, depending on the execution mode.

Secret registration structure

Each secret registration has three parts:

FieldDescription
Vault secretThe path to the secret in the vault.
INI headerA section name used to group the secret's fields.
FieldsThe specific field names to extract from the secret (e.g. api_key, api_secret).

When to use which

AuthenticationSecrets
Who provides the valuesEnd-users, via the authentication storeDevelopers or platform admins, via the vault
Use caseThird-party service credentials that vary per user (OAuth tokens, API keys)Internal credentials shared across all instances of the connector
How values are deliveredIndividual env vars / CLI flags with PUP_AUTH_ prefixSingle JSON string via REGISTERED_SECRETS
End-user interactionUsers select their credentials from a dropdownNone — users don't see secrets

How is this guide?

On this page