itk-dev/openid-connect-bundle
Symfony bundle for OpenID Connect authentication. Configure OIDC providers, handle login and logout, discover endpoints, validate tokens, and map claims to users for secure single sign-on in Symfony applications.
itk-dev/openid-connect-bundle), not a Laravel package. It will not drop into a Laravel app. The first decision it informs is whether OIDC work justifies introducing a Symfony service alongside your Laravel estate, or whether you stay in-ecosystem (Socialite, league/oauth2-client, a hosted IdP SDK). That is an architecture decision, not a library pick.access_denied, misconfigured redirect URIs, tenant mismatches) are now handled rather than crashing into a 500. That's a tangible reduction in auth-related support tickets during a pilot — small feature, disproportionate operational value.Consider it when all of these hold:
6.1.x) and reading the source before trusting it.6.1.0 specifically shifts two evaluation criteria in its favour:
Look elsewhere when:
socialiteproviders/*), league/oauth2-client with a provider package, or a hosted IdP SDK. Do not adopt a Symfony bundle to solve a Laravel problem. Nothing in 6.1.0 changes this.Practical evaluation gate before adoption: 30-minute spike against the mock IdP (now documented) followed by one against your real IdP; a read of token validation, PKCE generation, and JWKS caching code; a check of commit cadence and open-issue responsiveness. If any of those fail, fall back to league/oauth2-client + a maintained provider, or a hosted IdP.
For executives: There's a small, free, MIT-licensed component that implements OpenID Connect sign-in for Symfony applications. It could compress an SSO pilot from weeks to days and let us demo "log in with the customer's identity provider" without buying an identity platform. The latest release (6.1.0) is a genuine step forward: it adds PKCE, per-provider scope configuration, graceful handling of identity-provider error responses, and explicit support for modern long-running PHP runtimes — plus documentation and CI that make it cheaper to evaluate and harder to misconfigure. The caveat hasn't moved: no meaningful star count, no downstream projects depending on it, no vendor behind it. That means low license cost, non-trivial ownership cost — we'd own security review, version pinning, and a fork contingency. My recommendation is a timeboxed spike, not a platform commitment: prove it against one real IdP in a non-critical service, and keep a documented exit to a maintained client library or a paid IdP. Also flag the framework mismatch — this is Symfony, so if the target service is Laravel we should be evaluating Laravel-native options instead, and none of this release changes that.
For engineering: 6.1.0 is a minor release with no breaking changes, and it closes three of the things you'd have flagged in review: PKCE is now implemented in-bundle, provider instances are no longer held between requests (with a documented worker-mode contract and an Igor CI gate guarding against state leaks), and scopes plus config bounds are validated with clearer failure messages. Treat it as an accelerator with a known blast radius. Pin 6.1.x, vendor it, read the ID-token validation, PKCE, and JWKS caching paths before trusting them, add integration tests against a containerized Keycloak using the new mock-IdP docs, and write down the fork plan on day one. If the service is Laravel, stop — this bundle isn't for you; use league/oauth2-client with a maintained provider or Socialite.
How can I help you explore Laravel packages today?