danielburger1337 / bff-proxy-bundle
A Symfony bundle that adds the BFF proxy pattern.
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/danielburger1337/bff-proxy-bundle
Requires
- php: ^8.4
- psr/http-client: ^1.0
- psr/http-factory: ^1.1
- psr/http-message: ^1.0 || ^2.0
- symfony/framework-bundle: ^7.4 || ^8.0
- symfony/http-client: ^7.4 || ^8.0
- symfony/http-foundation: ^7.4 || ^8.0
- symfony/mime: ^7.4 || ^8.0
- symfony/psr-http-message-bridge: ^7.4 || ^8.0
- symfony/security-bundle: ^7.4 || ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.92
- nyholm/psr7: ^1.8
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^12.5
- psr/log: ^1.0 || ^2.0 || ^3.0
This package is auto-updated.
Last update: 2025-12-18 17:15:47 UTC
README
danielburger1337/bff-proxy-bundle
A Symfony bundle that implements the proxy for the Backend for Frontends pattern.
The approach this bundle takes is one of composition. It does not provide all of the required functionality of the BFF pattern on its own. Mainly, the OAuth2 token management and authentication at the upstream service is not included in this bundle.
Installation
This library is PSR-4 compatible and can be installed via PHP's dependency manager Composer.
composer require danielburger1337/bff-proxy-bundle
Documentation
TODO
Configuration reference
# config/packages/bff_proxy.yaml bff_proxy: # [Optional] Proxy requests to local API local_proxy: local # FALSE will disable feature # [Optional] Query parameter to configure runtime options of the proxy options_parameter: bff_proxy upstreams: first-upstream: http_client: "@psr18_client_implementation" request_factory: "@psr17_factory_implementation" stream_factory: "@psr17_factory_implementation" http_foundation_factory: "@psr7_to_httpfoundation_bridge" # Forward all headers that start with "X-" to the upstream passthrough_request_x_headers: false # Forward specific headers to the upstream passthrough_request_headers: ["my-custom-header"] # Proxy all headers that start with "X-" from the upstream to the client passthrough_response_x_headers: false # Proxy specific headers from the upstream to the client passthrough_response_headers: ["upstream-custom-header"]