splash / oauth2
Splash Oauth2 Features for API Connectors
Requires
- php: ^8.3
- ext-json: *
- knplabs/knp-time-bundle: ^2.0
- knpuniversity/oauth2-client-bundle: ~2.0
- splash/console: ^3.0
- splash/php-bundle: ^3.0
- symfony/form: ^7.4
- symfony/translation: ^7.4
- symfony/validator: ^7.4
Requires (Dev)
- badpixxel/php-sdk: ^3.0
- splash/bridge-builder: ^3.0
- splash/toolkit: ^3.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Oauth2 features for Splash Connectors: the authorization flow, token storage, refresh and revocation, with nothing to write on the Connector side but the Provider endpoints.
The bundle is designed to run the same way from a Toolkit request, from the
Cli, and from a Connector compiled as a Bridge worker (.splx): no Http
session, no cookie, no reliance on the local router. The whole Oauth2 state
lives in a signed state parameter and in the Connector configuration.
composer require splash/oauth2
Documentation
- Getting started — install, the four pieces of an OAuth2-aware connector
- Applications — shared vs private applications, rules enforced by the bundle
- The OAuth2 flow — routes, self-carried state, request-derived redirect uri, stateless PKCE, errors
- Bridge compatibility contract — constraints to run inside a Bridge worker
- Reference — connector parameters, bundle configuration, key classes, development & tests
The demo connector under demo/ is the reference implementation.
AI coding agents: see llms.txt, and the splash-connector skill (splash/skills).
Development & tests
The repository ships a complete environment: a Toolkit hosting the demo connector natively and
as a compiled worker, and an OAuth2 secured OpenApi Sandbox acting as the authorization server
(docker/, make up). make quality before any commit, make test for the whole suite.
License
MIT - See LICENSE