Weave Code
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

Ecas Laravel Package

ecphp/ecas

ECAS is a PHP library for working with CAS (Central Authentication Service) authentication. It provides a clean API, strong type coverage, and maintained CI. See full guides and usage examples in the dedicated documentation at ecpHP-ecas.readthedocs.io.

View on GitHub
Deep Wiki
Context7

CAS library to communicate with eCAS/EULogin

Frequently asked questions about Ecas
How do I integrate ecphp/ecas with Laravel’s authentication system?
ecphp/ecas is a low-level library, so you’ll need to wrap it in a Laravel service or facade. Start by binding the CAS client to Laravel’s service container, then create middleware to handle CAS authentication flows. Use Laravel’s built-in auth system to map CAS attributes to your User model. The documentation provides a basic example for this setup.
Does ecphp/ecas support Laravel 10 or PHP 8.2?
The package is officially tested on Laravel 9+ and PHP 8.1+, but it should work with Laravel 10 and PHP 8.2 due to backward compatibility. Always test thoroughly in your environment, especially if using newer Laravel features like improved session handling. Check the GitHub issues for any reported compatibility problems.
Can I use ecphp/ecas for SAML 2.0 authentication with EULogin?
Yes, ecphp/ecas supports SAML 2.0 via EULogin, but you’ll need to configure it properly in your CAS client settings. The library handles the protocol-level communication, but you must ensure your EULogin server is compatible. Refer to the [dedicated documentation](https://ecphp-ecas.readthedocs.io/) for SAML-specific configuration steps.
How do I handle CAS authentication failures or timeouts in Laravel?
Extend the package’s exceptions to integrate with Laravel’s error handling system. Use middleware to catch CAS-specific exceptions (e.g., `CASException`) and redirect users to a fallback login method or display a user-friendly error. For timeouts, implement retry logic or a manual fallback to local authentication.
What’s the best way to store CAS tickets in Laravel?
Store CAS tickets in the session with a short TTL (e.g., Redis or database) to avoid security risks. Avoid storing tickets in plain cookies. Use Laravel’s session driver to manage ticket storage, and clear tickets after successful authentication or logout. The package itself doesn’t enforce storage, so you’ll need to implement this logic in your middleware or service layer.
Does ecphp/ecas work with Laravel’s Socialite package?
No, ecphp/ecas is a standalone CAS library and doesn’t integrate directly with Socialite. If you need both, you’ll have to manage them separately or create a custom bridge. Socialite is designed for OAuth providers, while ecphp/ecas handles CAS/SAML, so they serve different use cases.
How do I map CAS attributes to a Laravel User model?
After successful CAS authentication, use the `getAttributes()` method to fetch user data from the CAS server. Manually map these attributes (e.g., `uid`, `email`, `givenName`) to your Laravel User model fields. You can automate this with a service class that handles attribute validation and model creation or updates.
Is ecphp/ecas suitable for production environments?
Yes, but you must enforce HTTPS for all CAS communications to prevent security risks like session hijacking. Test thoroughly in staging with your specific eCAS/EULogin configuration, including edge cases like concurrent logins or failed validations. Monitor performance, especially during peak traffic, as CAS ticket validation adds latency.
Are there any known issues with ecphp/ecas v4.0.4?
v4.0.4 is a minor maintenance release with no breaking changes. Check the [GitHub releases](https://github.com/ecphp/ecas/releases) for specific fixes, such as resolved ticket validation timeouts or attribute parsing bugs. If you’re upgrading, test in a non-production environment first to confirm compatibility with your eCAS/EULogin setup.
How do I enforce GDPR compliance with ecphp/ecas?
GDPR compliance depends on your implementation. Ensure you log only necessary CAS authentication data (e.g., timestamps, user IDs) and anonymize or delete sensitive attributes promptly. Use Laravel’s logging system to track authentication events without storing personal data longer than required. Consult your legal team for specific requirements.
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.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views