Proje: Okul Platform · Hub: Okul Platform — Conventions

Middleware Listesi (app/Http/Middleware/)

Auth & Identity

MiddlewareAçıklama
IdentifyCustomerB2B bağlamı kur: x-cid header → customer + customerUser
UserGroupTypeMiddlewareuser_group_type kontrolü: admin/user/customer
OptionalAuthoptional.auth:sanctum — Login zorunlu değil
WebhookAuthMiddlewareExternal webhook auth (Sonitel)
MigrationWebhookMiddlewareMigration webhook auth

Security

MiddlewareAçıklama
VerifyConsumerTokenx-consumer-key header kontrolü (PlatformType token’ları)
VerifyCsrfTokenCSRF token doğrulama
ValidateSignatureURL imzası doğrulama
EncryptCookiesCookie şifreleme

Request Processing

MiddlewareAçıklama
CastBooleansString boolean değerleri gerçek bool’a çevir
DetectLocaleDil tespiti
TrimStringsString trim
TrustHostsGüvenilir host listesi
TrustProxiesProxy güvenilirliği
PreventRequestsDuringMaintenanceBakım modu koruması

VerifyConsumerToken

x-consumer-key header’ı gerektirir. Geçerli tokenlar:

  • config('consumer.web') — Web frontend
  • config('consumer.crm') — CRM panel
  • config('consumer.customer') — B2B portal
  • config('consumer.swagger_ui') — Swagger UI

Bu token hangi platform’dan istek geldiğini doğrular.

UserGroupTypeMiddleware Kullanımı

Route::middleware('user_group_type:admin')->group(...)
Route::middleware('user_group_type:customer')->group(...)