Download the PHP package cas-system/laravel-client without Composer
On this page you can find all versions of the php package cas-system/laravel-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cas-system/laravel-client
More information about cas-system/laravel-client
Files in cas-system/laravel-client
Package laravel-client
Short Description Laravel client package for CAS (Central Authentication Service) integration
License MIT
Informations about the package laravel-client
Laravel CAS Client Package
A Laravel package for seamless single sign-on against One System (the CAS server). This package provides secure SSO authentication with JWT tokens, optional HMAC signature validation, and role-based access control.
Requirements
- PHP
^7.2 | ^7.3 | ^7.4 | ^8.0(PHP 8.1+ recommended) - Laravel
^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0 firebase/php-jwt ^6.0,guzzlehttp/guzzle ^7.0(installed automatically)
Features
- 🔐 Secure SSO Authentication - JWT token-based authentication
- 🛡️ Signature Validation - HMAC SHA-256 request signing
- 👥 Role-Based Access Control - Middleware for role protection
- 🔧 Easy Configuration - Environment-based setup
- 📝 Comprehensive Logging - Authentication event tracking
- ⚡ Performance Optimized - Token caching and validation
- 🎯 Laravel Integration - Native Laravel guards and middleware
Installation
1. Install via Composer
2. Run the Installer (recommended)
The installer publishes the config and seeds the required .env keys. The package stores CAS authentication state in Laravel's session and cache, so it does not add database columns and you do not need to run a package migration.
Prefer to do it by hand? Publish just the config with the cas-client-config tag:
3. Configure Environment Variables
Add the following to your .env file. The client_id / client_secret are issued when you register this client in One System — store the secret server-side only, never in browser code:
Quick Start
1. Protect Routes with Middleware
The service provider auto-registers two middleware aliases: cas.auth and cas.role.
2. Manual Authentication
3. Access User Data
4. Blade Templates
Configuration
Environment Variables
Advanced Configuration
Edit config/cas-client.php for advanced options:
Middleware
CasAuthentication Middleware
Protects routes requiring CAS authentication:
CasRole Middleware
Protects routes requiring specific roles:
API Reference
CasAuthService Methods
User Data Structure
Security Features
Signature Validation
When enabled, all requests to the CAS server are signed with HMAC SHA-256:
The payload includes:
- HTTP method
- Request URI
- Request body
- Timestamp
- Client ID
Token Caching
User data is cached to reduce CAS server load:
Error Handling
Comprehensive error handling for all CAS operations:
Troubleshooting
Common Issues
-
Authentication Loop
- Check
CAS_CALLBACK_URLmatches your route - Verify session configuration
- Ensure middleware order is correct
- Check
-
Token Validation Fails
- Verify client credentials in CAS server
- Check
CAS_SIGNATURE_SECRETif using signatures - Ensure CAS server is accessible
- Role Access Denied
- Verify user has required roles in CAS
- Check role middleware configuration
- Ensure roles are properly synced
Debug Mode
Enable debug logging:
Testing
Test your configuration:
License
This package is open-sourced software licensed under the MIT license.
Support
For support, please contact your CAS system administrator or create an issue in the project repository.
Contributing
Please see CONTRIBUTING.md for details on how to contribute to this package.
Changelog
Please see CHANGELOG.md for details on recent changes.
All versions of laravel-client with dependencies
laravel/framework Version ^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
firebase/php-jwt Version ^6.0
guzzlehttp/guzzle Version ^7.0