Sertifika sağlayıcılarının birçok API'si basit bir API anahtarıyla çalışır; OAuth2 ise token tabanlı, kapsamı (scope) sınırlanabilen ve süresi dolan erişim sağlar. Sağlayıcınız OAuth2 sunuyorsa, sertifika sipariş ve yönetim otomasyonunuzu daha güvenli kurabilirsiniz.
OAuth2 Akışı Nasıl İşler?
Sunucudan sunucuya (makine-makine) otomasyonlarda genellikle client credentials akışı kullanılır. İstemci, client_id ve client_secret bilgisiyle token uç noktasından kısa ömürlü bir erişim belirteci (access token) alır ve API çağrılarında Authorization: Bearer başlığıyla gönderir.
- Sağlayıcı panelinde bir uygulama/istemci oluşturun, gerekli scope'ları (ör. yalnızca sipariş okuma) seçin.
- Token uç noktasına istek atıp belirteci alın.
- Belirteci API çağrılarında kullanın; süresi dolmadan önce yenileyin.
Örnek İstekler
curl -s -X POST https://auth.example.com/oauth/token \
-d grant_type=client_credentials \
-d client_id="$CLIENT_ID" \
-d client_secret="$CLIENT_SECRET" \
-d scope="orders:read"
curl -s https://api.example.com/v1/orders \
-H "Authorization: Bearer $ACCESS_TOKEN"
Adresler örnektir; gerçek uç noktalar ve scope adları sağlayıcının dokümantasyonunda yer alır.
Sık Görülen Hatalar
- 401 invalid_token / expired: Belirtecin süresi dolmuştur; yenisini alın ve
expires_indeğerine göre önbelleğe alın. - 403 insufficient_scope: İstemciye çağırdığınız işlem için yetki verilmemiştir.
- invalid_client: Kimlik bilgisi yanlış ya da gizli anahtar yenilenmiştir.
Güvenlik İpuçları
- Client secret'ı kaynak koda değil ortam değişkenine veya gizli bilgi yöneticisine koyun.
- Her otomasyon için ayrı istemci oluşturup en düşük yetkiyi verin.
- Tokenları loglara yazmayın; yalnızca HTTPS üzerinden iletin.
Sertifika süreçlerini otomatikleştirmeden önce SSL sertifikası seçeneklerini ve bilgi bankasındaki diğer API rehberlerini inceleyebilirsiniz. Sağlayıcınız yalnızca API anahtarı sunuyorsa aynı güvenlik ilkeleri geçerlidir.