Skip to Content
DokümantasyonServis Kimliği ve Token

Servis Kimliği ve Jeton Yaşam Döngüsü (Authentication)

Frigolive Public API bir insan kullanıcının parolasıyla değil, müşterinin backend servisine tanımlanan ayrı bir entegrasyon kimliğiyle (Service Identity / Client Credentials) çalışır. Bu ayrım, personel değişikliği veya panel oturumu gibi insan kaynaklı durumların makineden makineye (Machine-to-Machine) veri akışını kesmesini önler.

Müşteriye Ne Verilir?

Her entegrasyona açık bir İstemci Kimliği (Client ID) ve yalnızca ilk oluşturma veya secret döndürme anında görülen gizli bir anahtar (Client Secret) verilir. Gizli anahtar Frigolive veritabanında düz metin olarak tutulmaz. Müşteri de bu değeri kendi backend ortam değişkeninde (Environment Variable) veya tercihen yönetilen bir secret kasasında (Secret Manager) saklar.

Gizli anahtar (Client Secret) kalıcı bir API tokenı değildir. Yalnızca kısa ömürlü erişim jetonu (Access Token) almak için kullanılan ana kimlik bilgisidir. Access token yaklaşık 1 saat geçerlidir ve entegrasyona verilmiş yetki kapsamlarının (Scopes) tamamını veya istenen alt kümesini taşır.

Token Yenilenirken Ne Olur?

Public API yenileme jetonu (Refresh Token) üretmez. Müşteri backend servisi, erişim jetonunun (Access Token) süresi dolmadan kısa süre önce aynı İstemci Kimlik Bilgileri (Client Credentials) akışını yeniden çalıştırır. Aynı anda birçok istek yenileme gerektiriyorsa yalnızca tek bir token isteği başlatılır ve sonuç tüm işlemlerle paylaşılır.

Anahtar iptal edildiğinde veya güvenlik sürümü artırıldığında daha önce üretilmiş erişim jetonları, süreleri henüz dolmamış olsa bile anında reddedilir.

Secret Döndürme (Secret Rotation)

Yeni gizli anahtar (Client Secret) üretilirken eski secret için kısa bir geçiş penceresi tanımlanabilir. Müşteri önce yeni değeri secret manager’a yükler, servislerini yeniden başlatır ve başarılı token alındığını doğrular. Geçiş penceresi dolduğunda eski değer kendiliğinden kullanılamaz hale gelir.

Ağ Düzeyinde Kısıtlama (IP Allow-list)

İsteğe bağlı olarak izinli IP adresleri veya CIDR blokları (IP Allow-list) tanımlanabilir. Tanımlandığında hem token alma hem de veri çağrıları yalnızca bu adreslerden kabul edilir; sızmış bir secret başka bir ağdan kullanılamaz.

Tarayıcı ve Mobil Uygulama Sınırı

Gizli anahtar (Client Secret) tarayıcıya, mobil uygulamaya, Git deposuna veya herkese açık kodlara konmaz. Arayüz müşterinin kendi backend servisine konuşur (BFF pattern). Developer portalındaki Authorize alanı da yalnızca önceden alınmış kısa ömürlü erişim jetonunu (Access Token) tarayıcı belleğinde tutar; istemci sırrı (Client Secret) kabul etmez.