Kimlik Doğrulama
Kompanse CMS API, üç farklı erişim seviyesi kullanır. Her seviye farklı header kombinasyonları gerektirir.
Admin Erişimi
Admin endpointlerine erişmek için JWT Bearer token gereklidir.
1. Token alma:
POST /api/admin/auth/login
Content-Type: application/json
{
"email": "berk.calik@kompanse.com",
"password": "your-password"
}
2. Token kullanımı:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Tenant Erişimi
Tenant endpointleri hem JWT token hem de X-Api-Key header'ı gerektirir.
1. Token alma:
POST /api/tenant/auth/login
X-Api-Key: customer-api-key-here
Content-Type: application/json
{
"email": "user@example.com",
"password": "your-password"
}
2. Token kullanımı:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
X-Api-Key: customer-api-key-here
bilgi
X-Api-Key header'ı, isteğin hangi müşteriye (tenant) ait olduğunu belirler. Her müşteriye özgü bir API anahtarı atanır.
Public Erişim
Public endpointler yalnızca X-Api-Key header'ı gerektirir. JWT token gerekmez.
GET /api/public/blog/posts
X-Api-Key: customer-api-key-here
Token Yapısı
JWT token'lar aşağıdaki bilgileri içerir:
| Claim | Açıklama |
|---|---|
nameid | Kullanıcı ID |
email | E-posta adresi |
role | Admin veya TenantUser |
TenantId | Tenant kullanıcı token'larında müşteri ID |
exp | Token süre sonu |
Hata Yanıtları
401 Unauthorized — Token eksik veya geçersiz:
{
"success": false,
"data": null,
"message": "Geçersiz veya eksik token."
}
403 Forbidden — Yetki yetersiz:
{
"success": false,
"data": null,
"message": "Bu işlem için yetkiniz bulunmamaktadır."
}