Kısa cevap

JSON doğrulama, JWT inceleme, Base64 kodlama ve Unix zaman damgası kontrolünü birleştiren uygulamalı API hata ayıklama rehberi.

01

Önce hatayı katmanlara ayırın

Bir API isteği başarısız olduğunda gövde biçimi, HTTP aktarımı, kimlik doğrulama ve iş kuralını aynı anda değiştirmek tanıyı zorlaştırır. Önce durum kodunu, yanıtın Content-Type değerini ve ham gövdeyi kaydedin; ardından tek katmanı değiştirerek yeniden deneyin. 400 sınıfı her zaman bozuk JSON, 401 sınıfı da her zaman süresi geçmiş token anlamına gelmez.

Üretim tokenlarını veya müşteri kayıtlarını hata takip sistemine kopyalamayın. Yapıyı koruyan sentetik bir örnek hazırlamak, hem gizliliği korur hem de hatanın tekrar üretilebilir olmasını sağlar.

  • Beklenen ve gerçek durum kodunu ayırın.
  • Ham yanıtı biçimlendirmeden önce saklayın.
  • Her denemede yalnızca bir değişkeni değiştirin.
02

JSON gövdesini sözleşmeye göre doğrulayın

Önce metnin sözdizimsel olarak geçerli JSON olup olmadığını kontrol edin. Sondaki virgül, tek tırnak, kaçırılmamış satır sonu ve sayı yerine gönderilen metin sık rastlanan sorunlardır. Geçerli JSON yine de doğru veri değildir: zorunlu alanlar, null davranışı, tarih biçimi ve iç içe nesne yapısı API sözleşmesiyle karşılaştırılmalıdır.

Biçimlendirici çıktısı alan adlarını ve tip farklarını görünür kılar. Büyük gövdelerde önce en küçük hatalı örneğe inin; gereksiz alanları çıkararak sorunun belirli bir değerden mi, yoksa şemadan mı kaynaklandığını anlayın.

03

JWT'yi doğrulama yapıyormuş gibi yorumlamayın

JWT'nin header ve payload bölümleri Base64URL ile kodlanmıştır; şifrelenmiş olmak zorunda değildir. Payload içindeki sub, aud, iss, exp ve nbf alanlarını okumak tanı koymaya yardım eder, fakat yalnızca decode etmek imzanın doğru olduğunu kanıtlamaz. İmza ve algoritma denetimi güvenilir bir sunucu kitaplığıyla, beklenen anahtar ve issuer yapılandırmasıyla yapılmalıdır.

alg değerini tokenın kendisinden körü körüne kabul etmeyin. Beklenen algoritmayı sunucu tarafında sabitleyin; audience ve issuer eşleşmesini, anahtar rotasyonunu ve saat sapması toleransını açıkça test edin.

  • Tokenı günlüklerde tam olarak saklamayın.
  • Decode ile signature verification ayrımını koruyun.
  • exp, nbf, aud ve iss alanlarını birlikte inceleyin.
04

Zaman ve kodlama tuzaklarını kapatın

Unix zamanı saniye veya milisaniye olabilir. On üç basamaklı bir değeri saniye kabul etmek tarihi binlerce yıl ileri taşır; exp değerleri çoğunlukla saniyedir. UTC ile yerel saat gösterimini yan yana kontrol edin ve istemci-sunucu saat farkını ölçün.

Base64 ile Base64URL aynı alfabe değildir; JWT bölümlerinde tire ve alt çizgi kullanılır, padding kaldırılabilir. Tanı sonunda düzeltilen örneği bir regresyon testine dönüştürün. Böylece sorun tekrarlandığında yalnızca arayüzde değil, otomatik testte de görünür olur.

İLGİLİ ARAÇLAR

Bu rehberi uygulamaya dönüştürün

09JSON Biçimlendirici ve DoğrulayıcıJSON verisini doğrulayın, okunabilir biçime getirin veya küçültün.24JWT DecoderJWT Header ve Payload bölümlerini imza doğrulamadan yerel JSON olarak okuyun.13Base64 Kodlayıcı ve ÇözücüUnicode metni Base64'e dönüştürün veya Base64 metnini çözün.23Unix Zaman Damgası DönüştürücüEpoch saniyesi, milisaniye ve okunabilir tarih arasında iki yönlü dönüşüm yapın.
Editoryal not

Görsel önerisi: İstek gövdesinden kimlik doğrulama ve zaman kontrolüne ilerleyen dört aşamalı bir hata ayıklama hattı. Bu içerik genel bilgilendirme amaçlıdır; hukuki veya güvenlik danışmanlığı değildir.

Bilgiyi uygulamaya dönüştürün

29 araçla cihazınızda çalışmaya başlayın

Araçları keşfet