Skip to content
grostifyConnectDocs

User authentication

Each user connects with their own account. Choose OAuth or OpenID Connect with your own login, or a personal API key per user.

On this page

When a user connects Claude, ChatGPT, WhatsApp or the web chat to your API, Connect needs a credential of that user to call your API on their behalf. You choose how they get it, on the Authentication step.

ModeThe userConnect sends on each call
OAuth or OpenID ConnectSigns in on your own login pageAuthorization: Bearer <access token>
API keyPastes a personal key on a Connect page that shows your verified domainThe key where you say, for example Authorization: Bearer <key>

Credentials are stored encrypted and never reach the AI model. See Security and privacy.

OAuth or OpenID Connect

Register Connect as a client in your OAuth provider with this callback, replacing acme with your slug:

Text
https://connect.grostify.com/t/acme/oauth/callback

The callback appears once your domain is verified. Register this exact URL.

Fields

FieldRequiredNotes
IssuerFor OpenID ConnectBase URL of your provider. It is compared character by character.
Authorization endpointYesHTTPS.
Token endpointYesHTTPS.
Userinfo endpointOne of the twoConnect calls it with the access token to know who the user is.
JWKS URIOne of the twoWith the issuer, lets Connect validate the id_token.
Revocation endpointNoConnect calls it when you revoke a connection.
Client IDYesUp to 256 characters.
Client secretYesSaved apart and never shown again. 8 to 1,024 characters.
ScopesNoSeparated by spaces, up to 20.
Client authenticationYesclient_secret_basic (default) or client_secret_post.
User id claimNoClaim or dot path with the user's id. sub when empty.

All endpoints must be on the same registrable domain as the issuer or the authorization endpoint.

Tip

Include offline_access in the scopes. Without it many providers do not return a refresh token, and users have to reconnect each time the access token expires.

Discover

Type the issuer and click Discover. Connect reads /.well-known/openid-configuration and fills in the endpoints, suggests scopes and picks a supported client authentication. It does not save anything: review the fields and save.

What your provider needs to support

  • Authorization code flow over HTTPS.
  • PKCE with S256. Connect always sends its own state and PKCE pair.
  • The exact redirect_uri above.
  • client_secret_basic or client_secret_post.
  • Refresh tokens are optional but recommended.

How Connect identifies the user

  • If your provider returns an id_token and you set the issuer and the JWKS URI, Connect validates it (signature, iss, aud and exp, with 60 seconds of tolerance).
  • Otherwise it calls the userinfo endpoint.
  • The user's label in Connections is their email, preferred_username or name.

Token refresh

Connect refreshes the access token 60 seconds before it expires. If your API answers 401, Connect refreshes once and retries. If your provider rejects the refresh token, the connection is closed and the user has to connect again.

API key

Each user pastes a personal key on a Connect page. Connect checks it with a real call to your API before saving it.

Fields

FieldExampleNotes
Send the key inA headerA header or a query parameter.
Header or parameter nameAuthorization1 to 64 characters. host, cookie, accept, user-agent and other reserved headers are not allowed.
PrefixBearer Optional, with its trailing space if you need it.
Verification path/meA GET, relative to the base URL, that answers 200 with the user's data when the key is valid.
User id fielddata.idDot path to the user's id in that response.
Page where users get their keyhttps://acme.com/settings/keysHTTPS, on your verified domain. Required to request review.
Key prefixsk_live_Optional. Helps spot keys pasted where they should not be.

What the user sees

  1. They approve the access on a Connect page that shows your verified domain.
  2. They paste their key. Connect calls your verification path with it, exactly as it will on each tool.
  3. If your API answers 200 with a user id, the key is saved. A 401 or 403, or any other status, shows: "We could not verify that key."

They have 10 attempts every 10 minutes. Connect only shows the last 4 characters of a key again.

Test credential

The test credential is a real access token or API key of a test user. Connect uses it only for the Run test button of each tool. It is stored encrypted and only its last 4 characters are shown, to owners and admins.

Change the configuration

Warning

Changing the mode, or where the key goes (header or parameter, name or prefix), resets the test of every tool and disables all tools in every channel.

If the integration is live, saving any change to authentication or a new client secret sends it back to review and closes every connection. Users connect again once Grostify approves it.

Saving authentication, the client secret or the test credential needs a recent sign in (within the last 10 minutes).