rednose/kerberos-bundle
Symfony bundle that adds Kerberos/SPNEGO authentication to your application, enabling single sign-on with existing domain credentials. It integrates with Symfony's security layer so protected routes can authenticate users automatically through negotiated Kerberos login.
Architecture fit
rednose/kerberos-bundle is a Symfony bundle, not a Laravel package. Its architecture is built around Symfony's DI container, bundle extension, security factories, and event system. A Laravel application cannot install it as-is; it would need to be either (a) ported into a Laravel guard + middleware, or (b) bypassed entirely in favor of a reverse-proxy/header-based approach.Integration feasibility
Authenticatable contract, no guard interface. The realistic integration is a re-implementation of the authentication decision (validate Authorization: Negotiate <token>, resolve principal, map to a local user) inside a Laravel guard, informed by this bundle's logic.krb5, GSSAPI, or mod_auth_kerb-style Apache integration). That dependency — not the bundle code — is the real integration cost and the real portability risk.mod_auth_gssapi, mod_auth_kerb, or an identity-aware proxy) and have Laravel trust a REMOTE_USER/header assertion. That is more robust, more debuggable, and doesn't couple PHP request handling to GSSAPI.Technical risk
REMOTE_USER from an untrusted hop) is an auth bypass. This code has not had the adversarial review that a widely used auth library receives.Authorization, and container images lacking GSSAPI libraries all cause outages that look like application bugs.Key questions
ext-krb5, GSSAPI, Apache module), and is that available in our target runtime images?Stack fit
mod_auth_gssapi or an IdP proxy), Laravel reads a signed assertion or REMOTE_USER, resolves/creates the user, and issues a normal session. This keeps Laravel on its own auth rails and confines Kerberos complexity to infrastructure.Migration path
mod_auth_gssapi, validate the SPN/keytab flow end to end, and confirm the browser auto-negotiates on domain-joined machines.KerberosGuard + TrustProxyHeaders middleware in Laravel and retire the spike's direct PHP integration.Compatibility
Authorization header preservation, connection reuse, and HTTP/2 compatibility with Negotiate.Sequencing
Maintenance
Support
Scaling
Failure modes
Authorization → negotiation never succeeds; commonly misdiagnosed as an application bug.Ramp-up
How can I help you explore Laravel packages today?