Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Keycloak Client Bundle Laravel Package

mainick/keycloak-client-bundle

Symfony bundle for Keycloak authentication that adds OpenID Connect single sign-on to your app, handling login, logout, token validation, and role-based access with minimal configuration. Supports Symfony security integration and route/API protection.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for authentication plumbing. OIDC/JWT validation, token refresh, and per-request token verification are commodity work — roughly 2–4 engineer-weeks to build correctly and a permanent maintenance tax to own. Adopting an MIT-licensed bundle converts that into an integration task, freeing roadmap capacity for differentiating work.
  • Enterprise SSO roadmap item. If Keycloak is (or will be) the corporate IdP, this bundle is the shortest path to "log in with company credentials" for a Symfony service — a checkbox that blocks enterprise deals and security questionnaires.
  • A framework-scope decision, not just a library decision. This is a Symfony bundle, not a Laravel package. For a Symfony service it's a drop-in; for a Laravel codebase it is the wrong dependency and should be rejected early. Treat it as evidence for "standardize our PHP services on Symfony where SSO is required" rather than a universal PHP choice.
  • Reuse across the service portfolio. A shared Keycloak integration pattern (config conventions, role mapping, token listener) lets new Symfony services ship auth in days instead of sprints, and keeps the security review surface in one place.
  • Scope boundaries for the auth epic. The bundle covers token lifecycle and user-info access — it does not solve fine-grained authorization (Keycloak UMA/resource permissions), user provisioning/SCIM, or multi-IdP abstraction. Those stay as separate roadmap items; using this package is a decision to defer them, not to solve them.
  • Risk acceptance decision. 45 stars, 0 dependents, and a very small maintainer surface mean the real decision is "adopt + wrap + own a fork if needed," not "adopt and forget." That is a deliberate, budgetable call the PM should make explicitly rather than let engineering make implicitly.

When to Consider This Package

Consider it when all of the following hold:

  • Keycloak is already the chosen identity provider (or is locked in by the platform/security team).
  • The consuming service runs on Symfony (bundle registration, DI, kernel listeners are the whole value proposition).
  • Requirements are standard: authorization-code/OIDC login, bearer-token validation on requests, token refresh, reading user attributes and realm/client roles.
  • The team is small or lacks a dedicated security engineer, so a pre-built, MIT-licensed token listener is genuinely cheaper than bespoke middleware.
  • You can accept the maintenance risk: low adoption, thin contributor base, no commercial support — plan to pin versions, write integration tests around it, and be willing to vendor/fork.

Look elsewhere when:

  • The stack is Laravel. Use Laravel-native options (Socialite with an OpenID Connect provider, a Keycloak guard package, or a maintained OIDC client) — do not force a Symfony bundle into Laravel.
  • You need a multi-IdP abstraction (Okta, Entra ID, Auth0 alongside Keycloak); a Keycloak-specific bundle bakes in the coupling.
  • You need fine-grained authorization, UMA, or SCIM provisioning — you'll be building that regardless, so the bundle's savings shrink.
  • You need vendor SLAs, CVE response commitments, or long-term support — this is a single-maintainer community project.
  • You run high-throughput endpoints where a listener verifying the token on every request needs benchmarking against your p95 latency budget before committing.
  • The service is a public API with machine-to-machine tokens only — a lightweight JWT verification library may be a smaller, more auditable dependency.

How to Pitch It (Stakeholders)

To executives: This is a small, free, MIT-licensed library that lets our Symfony services accept corporate Keycloak logins without us building authentication from scratch. It removes roughly a sprint of undifferentiated engineering per service and unblocks the enterprise SSO requirement that gates several deals. The cost is near zero; the risk is that it's a low-adoption community project — so we'll pin it, wrap it behind our own auth interface, and budget a few days a year to maintain a fork. Net: faster enterprise readiness, contained and disclosed dependency risk.

To engineering: The bundle gives us OIDC flow, token refresh, user-info access, and a per-request token validation listener out of the box, so we're not hand-rolling JWT verification and role mapping. Two caveats to own: it is Symfony-only (do not raise it for Laravel services), and it is a thin dependency — we isolate it behind an internal auth adapter so a version bump, abandonment, or a swap to a different IdP is a one-module change, not a rewrite. We also need to verify issuer/audience/expiry validation ourselves rather than assuming the listener does everything, and benchmark the per-request listener against our latency budget.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib