Download the PHP package beyondbluesky/oauth2-pkce-client without Composer
On this page you can find all versions of the php package beyondbluesky/oauth2-pkce-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download beyondbluesky/oauth2-pkce-client
More information about beyondbluesky/oauth2-pkce-client
Files in beyondbluesky/oauth2-pkce-client
Package oauth2-pkce-client
Short Description OAuth2 Client implementation using PKCE
License CC-BY-NC-SA-4.0
Informations about the package oauth2-pkce-client
OAuth2 PKCE Enabled Client
This Symfony bundle allows a Symfony 8 application to authenticate users against an OAuth2-compliant server using PKCE (RFC 7636).
Compatibility
- PHP: 8.4+
- Symfony: 8.x
Requirements Overview
To integrate the bundle, you need:
- A custom authenticator based on Symfony's modern authenticator system
- A controller endpoint that matches your OAuth2 redirect URI
- A table to store PKCE state, verifier, challenge, and issued tokens
- A bundle config file with client and server OAuth2 settings
- Security firewall configuration that uses custom_authenticators
Installation
-
Install the package:
- Create the bundle config file:
config/packages/oauth2_pkce_client.yaml
- Create the OAuth2 controller with route attributes:
src/Controller/OAuth2Controller.php
-
Create a User entity implementing modern security interfaces:
- Implement your authenticator by extending OAuth2PKCEAuthenticator:
src/Security/OAuth2Authenticator.php
- Configure security.yaml to use custom_authenticators:
config/packages/security.yaml
-
Create or run your Doctrine migration:
- Start authentication by opening:
If your redirect URI and OAuth2 server config are correct, the PKCE login flow should start.
All versions of oauth2-pkce-client with dependencies
symfony/framework-bundle Version ^8.0
symfony/dependency-injection Version ^8.0
symfony/routing Version ^8.0
symfony/http-foundation Version ^8.0
symfony/security-http Version ^8.0
beyondbluesky/lib-jwt Version 1.*