anndro/sentry_ldap
Adds an LDAP authentication driver for Cartalyst Sentry in Laravel, allowing users to sign in against LDAP or Active Directory. Includes configuration for connection details, base DN, and user attributes.
Architecture fit: Low for modern Laravel/PHP. anndro/sentry_ldap is a legacy LDAP authentication/authorization integration tied to the Sentry auth stack and PHP 5.3-era conventions. It is not a native Laravel auth driver in the modern sense and should not be treated as a strategic identity component. Best fit is a constrained legacy Laravel/Sentry application that already depends on Sentry and needs LDAP bind/group mapping.
Integration feasibility: Technically possible only after a spike and dependency audit. The package has low adoption (21 stars, 0 dependents), no release since 2015-06-18, and likely conflicts with modern Composer/PHP/Laravel constraints. Integration would require pinning old dependencies, verifying autoloading and framework compatibility, and likely forking or vendoring the package. The BSD-3-Clause license is permissive, which lowers legal friction for a fork but does not solve maintenance risk.
Technical risk: High. Authentication is a security-critical path, and this package is unmaintained with an abandoned/legacy Sentry dependency surface. Risks include PHP/Laravel incompatibility, Composer dependency conflicts, missing security patches, LDAP TLS/configuration gaps, group-to-role mapping defects, and unclear behavior across directory schema variants. The lack of dependents and recent releases means limited field validation and weak community support.
Key questions: Which Laravel/PHP versions must be supported? Is the target application already on Sentry, and which version? Which LDAP flows are required: simple bind, search-then-bind, group membership mapping, password expiry, multi-directory, TLS/StartTLS? What is the authoritative user/group schema? Are local fallback accounts required? What is the expected login volume and availability target? Can we fork and own the package if needed, or is a maintained LDAP provider a better fit?
Stack fit: Poor for greenfield or modern Laravel. Good only as a tactical bridge for a legacy Sentry-based app. For a modern stack, prefer Laravel’s native authentication/authorization with a maintained LDAP integration layer, or a lightweight internal adapter around php-ldap if requirements are narrow.
Migration path: Treat this package as an implementation detail behind an internal LdapAuthenticator/identity adapter. Map LDAP users and groups into local application users/roles, then migrate callers to a maintained provider or custom adapter. If already using Sentry, plan a phased exit from Sentry and this package rather than deepening the dependency. Use dual-run and feature flags to compare LDAP vs local auth paths before cutover.
Compatibility: Assume PHP 5.3+ era constraints. Validate against the target PHP version, Laravel version, Composer resolver, Sentry version, and LDAP extension availability. Expect to pin or fork. Confirm OpenLDAP/Active Directory behavior, group nesting, DN escaping, TLS certificate validation, and timeout handling. Do not assume compatibility from the package metadata alone.
Sequencing: 1) Discovery and requirements capture for auth flows, directory schema, and availability. 2) Time-boxed technical spike in an isolated branch/container. 3) Security and dependency review, including fork/vendor decision. 4) Build an internal auth adapter and user/role sync. 5) Pilot with a limited user cohort and fallback path. 6) Production rollout behind a feature flag. 7) Migrate to a maintained LDAP/auth solution and decommission the legacy package.
Maintenance: High. With no release since 2015, the team effectively becomes the maintainer. Budget for fork ownership, dependency patching, PHP upgrades, LDAP edge cases, and security review. Treat any production use as carrying an explicit technical-debt item with an owner and exit plan.
Support: Weak. Low stars, zero dependents, and no recent releases imply limited community troubleshooting. Internal runbooks, test directories, and escalation paths are required. Vendor/community support should not be assumed.
Scaling: Login-path scaling is usually acceptable for moderate volumes because LDAP binds are lightweight, but directory load, connection reuse, timeout behavior, and group lookup cost must be tested. The bigger scaling risk is operational: stale auth code blocking PHP/Laravel upgrades and forcing parallel legacy infrastructure.
Failure modes: LDAP outage or network partition; TLS/certificate expiry or misconfiguration; bind failures due to password expiry or lockout; group mapping drift causing privilege errors; Composer/dependency conflicts during upgrades; PHP deprecation/fatal errors; silent fallback to local auth if misconfigured; and security exposure from unpatched legacy code. Define fail-closed behavior for privileged access and a break-glass local admin path.
Ramp-up: Moderate to high. Engineers need Laravel/PHP plus LDAP protocol, directory schema, Sentry internals, and legacy dependency troubleshooting. A spike plus paired review is advisable before committing. As TPM, I would approve only with a bounded scope, named owner, security sign-off, pilot criteria, and a funded migration plan off the package.
How can I help you explore Laravel packages today?