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

Atlassian Services Crowd Laravel Package

smurfy/atlassian-services-crowd

Laravel package for integrating Atlassian Crowd authentication and SSO into your application. Manage users and groups, authenticate against Crowd, and sync identity data seamlessly with your Laravel projects.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Despite being listed as a Laravel/PHP package, this is a Composer shim around the PEAR Services_Atlassian_Crowd library, not a framework-integrated package. Expect PEAR-style underscore class names (Services_Atlassian_Crowd), no PSR-4 autoloading, no ServiceProvider, no facade, no publishable config, no use of Laravel's HTTP client, container, or exception handling. Adopting it means the team writes the integration surface itself: a service provider, a config file for the Crowd base URL and application credentials, a facade or constructor-injected client, and adapters that translate its error model into Laravel exceptions and typed results. Fit is "vendored utility inside our own wrapper," not "install and configure."

Integration feasibility. Feasible for an engineer already familiar with Crowd's REST API. The realistic spike is one to two days: install in a scratch Laravel app, run authenticate / validate-session / group-membership calls against a sandbox Crowd instance, and confirm clean execution on the target PHP runtime. Two unknowns dominate: PHP 8.2+ compatibility (PEAR-era code commonly trips on removed/deprecated syntax, dynamic properties, and old HTTP transport assumptions) and whether the transport it relies on is available and permitted in our environment.

Technical risk. High. Zero stars, zero dependents, a self-description of "copy of the pearpackage," and a composite score of 0.03 mean no community vetting, no issue activity, no security response process, and no evidence anyone runs it in production. Open supply-chain questions: who published it, whether the code is byte-identical to a known upstream PEAR release, whether releases are tagged and reproducible, and what license governs redistribution. There is also a strategic risk above the package: Crowd is a legacy IAM product with its own end-of-life trajectory, so any new dependency on the Crowd API should be raised with identity/security stakeholders before a build decision.

Key questions.

  1. Which Crowd capabilities do we actually need — authentication, session/token validation, group and role lookup, user search, SSO token checks?
  2. Which PHP versions and which of our CI gates (static analysis, coding standard, dependency audit) must this pass?
  3. Is this a faithful copy of Services_Atlassian_Crowd at a known version, and under what license?
  4. Does our Crowd deployment expose OIDC or SAML, allowing a maintained library instead of a bespoke REST client?
  5. Who owns the fork, the security review, and the upgrade path?

Integration Approach

Stack fit. Treat it as a protocol reference and fork source, not a dependency of record. The package knows Crowd's endpoint shapes, payloads, and error codes; that knowledge is the leverage. Wrap it in an internal crowd package (or a thin CrowdClient class) that exposes only the methods the application needs and hides PEAR conventions behind Laravel-native types.

Migration path. If we already run the PEAR library, this is a low-effort Composer-ization bridge and a reasonable interim step. If we are greenfield, the honest comparison is: vendor-and-fork this package versus write a roughly 300-line Guzzle client against Crowd's REST endpoints. The latter is usually cheaper to own and easier to test, and avoids inheriting an unmaintained codebase. The third option — bypassing Crowd's REST API in favor of an OIDC/SAML flow with a maintained library — should be evaluated first and only discarded on evidence.

Compatibility. Expect work on autoloading (PSR-4 wrapper, classmap fallback), PHP 8 fixes, and HTTP client conflicts if the code pulls its own transport with a pinned Guzzle/cURL version. Pin the fork to a specific commit in composer.json and mirror it internally rather than resolving from Packagist at build time.

Sequencing. (1) Protocol discovery spike against sandbox Crowd, one engineer, two days. (2) Decision gate: fork, rewrite, or OIDC/SAML alternative. (3) Security and license review of whatever code we keep. (4) Build the Laravel wrapper with contract tests and a fake Crowd server for CI. (5) Feature-flag rollout behind the existing auth path with a kill switch.

Operational Impact

Maintenance. Effectively zero upstream maintenance; we own every line we adopt. Budget for a fork, a mirror, and a named internal owner. Dependency scanners will flag the package as unmaintained, and that finding will recur every quarter until it is replaced or formally accepted as an exception.

Support. No vendor, no maintainer, no CVE process, no community. Incidents are debugged from source. That is acceptable for a small, well-tested adapter and unacceptable if the package is spread across multiple services without a single owner.

Scaling. The dominant cost is per-request calls to Crowd: session validation and group lookups on every request will add latency and load Crowd directly. Plan for short-TTL caching of session validation and group membership, connection pooling via a shared Guzzle client, and explicit timeouts. Crowd's own capacity and HA posture are a separate workstream and should be sized before rollout, not after.

Failure modes. Crowd outage becomes an authentication outage for every integrated app; there is no graceful degradation unless we design one (cached sessions with bounded staleness, read-only mode, clear 503 behavior). Other likely failures: silent or weakly typed error handling typical of PEAR code, TLS verification settings that get disabled "temporarily" and never restored, credential handling for the Crowd application password, and version drift between Crowd instances in different environments. Each needs a test.

Ramp-up. Low code complexity, high archaeology cost: no documentation, unfamiliar PEAR idioms, and no tests to read. Estimate one to two days for a mid-level PHP engineer to understand the library and one to two sprints to deliver a wrapped, tested, observable integration. The wrapper — not the package — is the real deliverable, and it should be reviewed as internal production code.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package