Product Decisions This Supports
- Standardizing authentication module distribution: Enables Composer-based workflows for SimpleSAMLphp modules, aligning with Laravel’s dependency management practices if SimpleSAMLphp is integrated as an authentication layer. Reduces manual intervention in module deployment.
- Developer experience (DX) improvements: Simplifies module installation for developers working with Laravel applications that leverage SimpleSAMLphp for SSO or authentication, reducing onboarding time and errors.
- Roadmap for modular authentication: Supports a strategy to modularize authentication components in Laravel applications, allowing teams to opt into SimpleSAMLphp modules via Composer rather than monolithic authentication systems.
- Build vs. buy: Avoids reinventing a Composer plugin for module management, leveraging an existing solution with minimal maintenance overhead, provided SimpleSAMLphp is part of the Laravel stack.
- Use cases:
- Enterprise SSO deployments: Streamlines module deployment across Laravel-based applications using SimpleSAMLphp for authentication.
- Custom authentication ecosystems: Enables third-party or internal SimpleSAMLphp modules to integrate seamlessly with Laravel applications.
- CI/CD pipelines: Automates module installation in Laravel’s build/deploy workflows (e.g.,
composer require in Dockerfiles or GitHub Actions).
When to Consider This Package
- Adopt if:
- Your Laravel application integrates SimpleSAMLphp for authentication or SSO and manages modules via manual Git clones or archives.
- You prioritize consistency with Composer for all PHP dependencies, including SimpleSAMLphp modules.
- You need to scale module management across multiple Laravel environments or teams.
- Your roadmap includes modularizing authentication in Laravel or adopting third-party SimpleSAMLphp modules.
- Look elsewhere if:
- Your Laravel application does not use SimpleSAMLphp (this package is niche and irrelevant).
- You require advanced Composer features (e.g., custom post-install scripts, complex dependency resolution) not covered by this plugin.
- Your team lacks Composer familiarity or infrastructure to support plugin-based workflows.
- You need active maintenance (last release was 2023; monitor for updates or fork if critical).
- Your modules have complex dependencies (e.g., non-PHP assets) that Composer alone can’t handle, or require deep Laravel integration (e.g., Service Providers, Facades).
How to Pitch It (Stakeholders)
For Executives/Business Stakeholders
"This package modernizes how we manage SimpleSAMLphp modules within our Laravel-based authentication stack by leveraging Composer—a tool our teams already use for PHP dependencies. It eliminates manual installation steps, reduces deployment errors, and improves consistency across environments. For example, installing a SimpleSAMLphp module now requires a simple composer require command instead of manual file copies or Git clones. This aligns with our goal of [modularizing authentication/improving SSO scalability] while keeping maintenance overhead minimal and reducing developer friction."
For Engineering/DevOps
*"The simplesamlphp/composer-module-installer plugin allows us to treat SimpleSAMLphp modules like any other Composer package, which is especially useful if we’re integrating SimpleSAMLphp into Laravel for authentication. Key benefits:
- Faster onboarding: Developers install modules in seconds (
composer require vendor/module).
- CI/CD friendly: Automate module installation in Laravel’s pipelines (e.g., Docker builds, GitHub Actions).
- Version pinning: Easily lock module versions in
composer.json for reproducibility.
- Future-proof: Supports third-party or internal modules without custom scripts.
Tradeoffs:
- Requires SimpleSAMLphp to be part of the Laravel stack (not a standalone Laravel package).
- May need custom Composer scripts to bridge SimpleSAMLphp modules with Laravel’s autoloading.
- Last release was in 2023; we’d need to monitor for updates or fork if issues arise.
Recommendation: Start with a pilot project where SimpleSAMLphp is embedded in Laravel (e.g., for SSO) and evaluate the integration effort."*
For Developers
*"This plugin lets you install SimpleSAMLphp modules the same way you install any other PHP package—just run composer require. If your Laravel app uses SimpleSAMLphp for authentication, this is a game-changer! Here’s how it works:
- Install the plugin globally (once for the team):
composer global require simplesamlphp/composer-module-installer
- Install modules in your Laravel project:
composer require vendor/simplesamlphp-module-mymodule
- Leverage modules in SimpleSAMLphp, which can then interact with Laravel via API or shared config.
Gotchas:
- Modules must opt into this by adding a
composer.json file (type: simplesamlphp-module).
- You’ll need to manually symlink modules to SimpleSAMLphp’s
modules/ directory or use custom Composer scripts to automate this.
- Not a drop-in solution for Laravel; best suited for apps where SimpleSAMLphp is a subsystem.
Pro Tip: Use post-install-cmd in Laravel’s composer.json to automate symlinking or config updates after module installation."*
For Laravel Core Team/Product Owners
*"If we’re integrating SimpleSAMLphp into Laravel for authentication (e.g., as a microservice or embedded component), this package could streamline module management. However:
- It’s not a Laravel-native solution and requires custom integration (e.g., Composer scripts, symlinks).
- Maintenance risk: The package is abandoned; we’d need to fork or monitor it closely.
- Alternatives: Consider building a Laravel-specific package wrapper for SimpleSAMLphp modules or using Laravel’s built-in package system for authentication.
Recommendation: Only adopt this if SimpleSAMLphp is a critical subsystem and the team is willing to maintain the integration. Otherwise, explore Laravel-native solutions like Laravel Sanctum or Passport for authentication."*