Skip to main content
An OAuth provider owns one service’s authorization URLs, provider scopes, token exchange, refresh behavior, revocation, and public metadata. Hookfish resolves a provider by its ID when an authorization or token operation runs.

Configure built-in providers

@hookfish/providers exports provider factories for GitHub, Linear, Notion, and remote MCP servers.
Provider factories run with the bindings passed to hookfish.fetch. This lets a Worker read provider credentials from request bindings without capturing stale values in its module scope.

Register callback URLs

Ask the running broker for the exact callback URL for each provider:
The response also reports whether each provider is configured, its default and available provider scopes, and whether it supports refresh or revocation. Copy the returned callback_url into the provider’s developer console.
Do not construct callback URLs from forwarded host headers. Set OAUTH_REDIRECT_BASE_URL to the public HTTPS origin in production.

Select provider scopes

Pass scopes when starting an authorization to override the provider’s defaults for that connection.
These are upstream permissions, not Hookfish resource scopes.

Choose a provider model

Continue with remote MCP providers, dynamic providers, or custom providers.