ronu / laravel-app-context
Multi-channel application context management for Laravel with JWT and API Key authentication
Installs: 52
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 7
pkg:composer/ronu/laravel-app-context
Requires
- php: ^8.2
- illuminate/cache: ^11.0|^12.0
- illuminate/http: ^11.0|^12.0
- illuminate/routing: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- php-open-source-saver/jwt-auth: ^2.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^9.0|^10.0
- phpunit/phpunit: ^11.0
- dev-main
- 1.2.1
- 1.2.0
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.0
- dev-codex/analyze-repo-for-multitenant-vulnerabilities
- dev-codex/describe-middleware-flow-and-functionality-9fe0pc
- dev-codex/describe-middleware-flow-and-functionality-731k76
- dev-codex/describe-middleware-flow-and-functionality
- dev-codex/audit-and-document-laravel-package
- dev-codex/audit-laravel-12-project-for-config-issues
- dev-codex/generate-documentation-for-laravel-library
- dev-claude/fix-app-context-config-ZTaKP
- dev-claude/fix-jwt-issuer-proxy-fBCoO
- dev-claude/document-laravel-context-0PwIr
- dev-codex/implement-security-and-fallback-improvements
- dev-codex/fix-invalid-issuer-in-authentication-t81g5w
- dev-codex/fix-invalid-issuer-in-authentication-2tbt3b
- dev-codex/fix-invalid-issuer-in-authentication
- dev-codex/generate-bilingual-documentation-for-laravel-library-qnw5tm
- dev-codex/generate-bilingual-documentation-for-laravel-library
- dev-codex/update-database-tables-and-readme
- dev-codex/analyze-library-updates-for-decoupling
- dev-claude/analyze-laravel-library-XdBvh
- dev-codex/analyze-and-improve-laravel-app-context-3t8mbm
- dev-codex/analyze-and-improve-laravel-app-context-1j757h
- dev-codex/analyze-and-improve-laravel-app-context
- dev-codex/analizar-biblioteca-para-app_context-en-laravel
This package is auto-updated.
Last update: 2026-02-10 20:09:23 UTC
README
Multi-channel application context management for Laravel (JWT + API key auth) with channel detection, context-aware rate limiting, and audit logging.
- Documentation: documentation/index.md
Requirements
- PHP 8.2+
- Laravel 11.x or 12.x
php-open-source-saver/jwt-auth2.x
Installation
composer require ronu/laravel-app-context
Publish config:
php artisan vendor:publish --tag=app-context-config
Quickstart
- Configure a channel in
config/app-context.php:
'channels' => [ 'site' => [ 'subdomains' => ['www', null], 'path_prefixes' => ['/site'], 'auth_mode' => 'jwt_or_anonymous', 'jwt_audience' => 'site', 'allowed_scopes' => ['site:*', 'catalog:browse'], 'public_scopes' => ['catalog:browse'], 'rate_limit_profile' => 'site', 'tenant_mode' => 'single', 'features' => [ 'allow_anonymous' => true, ], ], ],
- Apply the middleware group:
use Illuminate\Support\Facades\Route; use Ronu\AppContext\Facades\AppContext; Route::middleware(['app-context'])->group(function () { Route::get('/site/profile', function () { return response()->json([ 'channel' => AppContext::getAppId(), 'auth_mode' => AppContext::getAuthMode(), 'scopes' => AppContext::getScopes(), ]); }); });
Configuration
- Config lives in
config/app-context.php(publish tag:app-context-config). - Environment variable reference: documentation/02-configuration/01-env-vars.md
- Full config reference: documentation/02-configuration/00-configuration-reference.md
Common scenarios
1) Mobile app with JWT scopes
Route::middleware(['app-context', 'app.requires:mobile:orders:read'])->group(function () { Route::get('/mobile/orders', fn () => ['ok' => true]); });
2) Partner API with API keys
Route::middleware(['app-context', 'app.requires:partner:orders:read'])->group(function () { Route::get('/partner/orders', fn () => ['ok' => true]); });
3) Admin dashboard (subdomain detection)
Route::middleware(['app-context', 'app.scope:admin:*'])->group(function () { Route::get('/api/admin/metrics', fn () => ['ok' => true]); });
More scenarios: documentation/03-usage/02-scenarios.md
Edge scenarios
Common edge cases include config caching, queue workers, burst traffic, tenant mismatches, and JWT blacklist races.
See: documentation/03-usage/03-edge-and-extreme-scenarios.md
API reference
Troubleshooting
Start here: documentation/05-quality/02-troubleshooting.md
Contributing / Security
Start here: documentation/index.md