bootstrap/app.php.| Alias | Class |
|---|---|
tenant.context | SetTenantContext |
tenant.token | ValidateTenantToken |
tenant.required | RequireTenantContext |
password.confirmed | RequireRecentPasswordConfirmation |
stepup.confirmed | RequireRecentStepUpAuthentication |
subscription.active | EnsureTenantSubscriptionActive |
tenant.write | EnsureTenantWriteAccess |
subscription.feature | EnforceSubscriptionFeature |
usage.track | TrackFeatureUsage |
SetTenantContext (app/Http/Middleware/Tenant/Context/SetTenantContext.php) melakukan:X-Tenant-ID (UUID).tenant_id dari token sebagai source of truth.TenantContext ke container.app.current_tenant_idapp.current_user_idcentral.cluster_id tenant dari central tenant registry.ValidateTenantToken (app/Http/Middleware/Tenant/Context/ValidateTenantToken.php) memastikan:tenant_id pada token.hasActiveTenantAccess).FORBIDDEN dikembalikan dengan envelope API.TenantContextwhere tenant_id = ....config('api.logging.log_4xx') aktif.config('api.logging.log_5xx') aktif.app/Http/Middleware/Shared/ApiRequestLoggerMiddleware.phpapp/Logging/StructuredApiLogger.phpapp/Support/Security/OperationalAlerter.phpSetTenantContextValidateTenantTokenRequireTenantContextRequireRecentPasswordConfirmationRequireRecentStepUpAuthenticationUserSecurityControllerUserSessionControllerMeControllerAuthorizationResolver