Authentication
Hemen Builders API çağrıları Bearer token ile yetkilendirilir. İlk desteklenen OAuth uyumlu akışclient_credentials akışıdır ve özellikle private app entegrasyonları için kullanılır.
Token endpoint
| Alan | Açıklama |
|---|---|
grant_type | Şimdilik sadece client_credentials. |
client_id | Private app için üretilen OAuth client id. |
client_secret | Sadece üretildiği anda görünen client secret. |
scope | Boşlukla ayrılmış istenen scope listesi. |
Token alma örneği
Bearer header
Token aldıktan sonra API isteklerinde kullanın:Scope kontrolü
Token isteğinde gönderilen scope listesi app’inapproved_scopes alanının dışına çıkamaz. App’e onaylanmamış scope istenirse token verilmez.
Örnek hata:
Secret güvenliği
Client secret için kurallar:- Düz metin saklanmaz.
- Hash ve son dört karakter tutulur.
- Kaybedilirse geri okunamaz.
- Rotate edildiğinde eski secret geçersiz kabul edilir.
- Secret frontend bundle içine yazılmamalıdır.
Rotate ve revoke
Tenant admin panelinden:- Client secret rotate edilebilir.
- Private app token üretilebilir.
- Kullanılmayan token revoke edilebilir.
- Scope değiştirildiğinde aktif credential’ların yeniden yetkilendirilmesi gerekir.
Hata kodları
| Kod | Durum |
|---|---|
400 unsupported_grant_type | grant_type desteklenmiyor. |
400 invalid_request | client_id veya client_secret eksik. |
400 invalid_scope | İstenen scope app için onaylı değil. |
401 invalid_client | Client credential hatalı veya app aktif değil. |
401 unauthenticated | Bearer token eksik veya geçersiz. |
403 scope denied | Token geçerli ama işlem için gerekli scope yok. |
Production önerileri
- Her entegrasyon için ayrı app ve credential kullanın.
- Gereksiz scope vermeyin.
- Secret değerlerini
.env, CI secret store veya vault içinde tutun. - Token ve secret değerlerini loglamayın.
- Webhook ve admin action imzalarını ayrıca doğrulayın.