Ana içeriğe geç

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:

ClaimAçıklama
nameidKullanıcı ID
emailE-posta adresi
roleAdmin veya TenantUser
TenantIdTenant kullanıcı token'larında müşteri ID
expToken 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."
}